Image processing device and method
The image processing apparatus addresses inefficiencies in multi-screen display systems by rotating and padding images to minimize padding pixels, enhancing transmission efficiency and reducing bandwidth occupancy.
Patent Information
- Application Number
- JP2024518910
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-26
- Publication Date
- 2025-08-21
- Estimated Expiration
- 2041-09-26
AI Technical Summary
Existing image transmission systems in multi-screen displays face inefficiencies due to padding pixels occupying transmission bandwidth, caused by the need to stitch and pad images to match different display sizes, leading to reduced image transmission efficiency.
An image processing apparatus that rotates and/or pads images to create a stitched image with reduced padding pixels, allowing for efficient transmission by minimizing the number of padding pixels through specific pixel manipulation techniques.
Improves image transmission efficiency by reducing the amount of padding pixels, enabling faster and more efficient transfer of images without the need for additional buffering, thus optimizing bandwidth usage.
Smart Images

Figure 0007717973000001 
Figure 0007717973000002 
Figure 0007717973000003
Abstract
Description
[Technical Field]
[0001] This application relates to the field of image processing, and more particularly to image processing devices and methods. [Background technology]
[0002] Displays play an important role in intelligentization as the main interface for human-computer interaction. Multi-screen displays have become the new trend in cockpit displays after large-screen displays, and single-core multi-screen displays have become the focus of vehicle factories and cockpit system integrators. In multi-screen displays, the functions of the traditional central display screen are separated, so that navigation information, multimedia information, etc. are displayed on one screen, and vehicle information such as seating, air conditioning, and advanced driving assistance systems (ADAS) are displayed on one or two other screens. This reduces the menu level of system applications and simplifies user operation.
[0003] For example, a cockpit domain controller (CDC) uses serializer / deserializer (SerDes) technology to transmit images to a display device via a cable for display. The CDC includes a system on a chip (SoC) and a serializer, while the display device includes a deserializer and a display. The specific process of transmitting images from the CDC to the display is as follows: the SoC transmits the images to the serializer (Ser) via a mobile industry processor interface (MIPI), an open LVDS display interface (oLDI), a display port (DP), a cable on the SoC's printed circuit board, etc. The Ser transmits the images to a deserializer (Des) of a different display device via a different port. The Des then transmits the images to the display via a board interface such as MIPI, oLDI, or DP, and the display displays the images.
[0004] Due to pin and interface limitations of the SoC and Ser, multiple images cannot be distinguished at the interface layer. Therefore, the SoC must horizontally stitch the displayed image into a normal larger image through a specific process and transmit the stitched image to the Ser. The Ser (which supports one-to-two segmentation, i.e., segmenting one image into two images) performs segmentation on the larger image to obtain two images and then transmits the images separately to the corresponding display device through two ports of the serializer for display. However, the display sizes of the display devices are usually different. To facilitate stitching, the SoC must perform pixel padding on at least one of the two stitched images to match the column designation of the other image so that the number of column pixels of the two images match. Because the Ser and Des cannot prune the padding pixels, the padding pixels are transmitted to the display as valid pixels, and the display prunes the padding pixels and then displays the image. In this solution, the excess padding pixels occupy the transmission bandwidth, which causes low image transmission efficiency. Summary of the Invention
[0005] The present application provides an image processing apparatus and method for reducing the number of padding pixels and improving image transmission efficiency. [Means for solving the problem]
[0006] According to a first aspect, there is provided an image processing apparatus, the apparatus including: a first processing unit configured to obtain a first stitched image based on a first image and a second image; and a transmitting unit configured to transmit the first stitched image, wherein a number of row pixels of the first image is M, a number of column pixels is N, M>N, and both M and N are positive integers; a number of row pixels of the second image is P, a number of column pixels is Q, Q≧M, and both P and Q are positive integers; a number of row pixels of the first stitched image is N+P, and a number of column pixels is Q; the first stitched image includes a second image and a third image, and the third image is an image obtained through a first pre-processing of the first image, wherein the first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image.
[0007] For example, the first processing unit includes an SoC.
[0008] For example, the image processing device is a domain controller or another device with image processing capabilities, such as a CDC or mobile data center (MDC).
[0009] It should be understood that in the embodiment of the present application, the row pixel number is the number of pixels in each row, and the column pixel number is the number of pixels in each column.
[0010] In the above-mentioned image processing device, the first processing unit first rotates the first image having M row pixels and N column pixels, or rotates and pads the first image having M row pixels and N column pixels to obtain a third image. Then, the first processing unit obtains a first stitched image having N+P row pixels and Q column pixels based on the third image and the second image having P row pixels and Q column pixels. Therefore, the number of padding pixels in the first stitched image is N×(QM). However, according to the existing solution, the first image and the second image are stitched, and the number of padding pixels included in the obtained stitched image is M×(QN). Because Q≧M>N, the number of padding pixels included in the first stitched image obtained by the first processing unit is less than the number of padding pixels included in the stitched image obtained in the existing solution. Therefore, when the sending unit transmits the first stitched image obtained by the first processing unit, the padding pixels occupy a small amount of transmission bandwidth, thereby improving the transmission efficiency of the first stitched image.
[0011] In relation to the first aspect, in some implementation forms of the first aspect, being configured such that the first processing unit obtains a first stitched image based on the first image and the second image includes being particularly configured such that the first processing unit rotates the first image to obtain a third image, and stitches the third image and the second image to obtain the first stitched image.
[0012] For example, rotating the first image may be rotating the first image by (90°+180°×n), where n is an integer, to obtain the third image.
[0013] For example, stitching the third image and the second image may be horizontally stitching the third image and the second image, where horizontal stitching may be understood as performing row pixel stitching on two images.
[0014] For example, if Q=M, the first processing unit rotates the first image having M row pixels and N column pixels by (90°+180°×n) to obtain a third image having N row pixels and M column pixels. In addition, to obtain a first stitched image having N+P row pixels and Q column pixels, the third image having N row pixels and M column pixels and the third image having P row pixels and Q column pixels are horizontally stitched together. The column pixel counts of the third image and the second image in the obtained first stitched image are consistent, and the second image is not processed in the process of obtaining the first stitched image. Therefore, in one aspect, the complexity of processing the second image by the first processing unit is not further increased compared to existing solutions. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. A device receiving the first stitched image does not need to buffer the pixels of the second image, and can extract rows of pixels of the second image by simply performing simple segmentation on the first stitched image, so that the second image can be transferred quickly in real time.
[0015] In relation to the first aspect, in some other implementation forms of the first aspect, the first processing unit is particularly configured to rotate the first image to obtain the fourth image, perform pixel padding on the fourth image to obtain the third image, and stitch the third image and the second image to obtain the first stitched image.
[0016] For example, rotating the first image may be rotating the first image by (90°+180°×n), where n is an integer, to obtain the fourth image.
[0017] For example, performing pixel padding on the fourth image may be performing column pixel padding on the fourth image, thereby increasing the number of column pixels in the fourth image.
[0018] For example, stitching the third image and the second image may be horizontally stitching the third image and the second image.
[0019] For example, first, the first processing unit rotates the first image, which has M row pixels and N column pixels, by (90°+180°×n) to obtain a fourth image, which has N row pixels and M column pixels. Second, the first processing unit performs column pixel padding on the fourth image, so that the number of pixels in each column of the fourth image increases from M to Q, and the number of pixels in each row remains unchanged and is still N, to obtain a third image. In this case, the number of padding pixels is N×(QM), and the number of row pixels of the third image is N and the number of column pixels is Q. Finally, the first processing unit horizontally stitches the third image, which has N row pixels and Q column pixels, with the second image, which has P row pixels and Q column pixels, to obtain a first stitched image, which has N+P row pixels and Q column pixels. The number of column pixels of the third image and the second image in the acquired first stitched image is consistent, and the second image is not processed in the process of acquiring the first stitched image. Therefore, in one aspect, the complexity of processing the second image by the first processing unit is not further increased compared to existing solutions. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. A device receiving the first stitched image does not need to buffer the pixels of the second image, and can extract the rows of pixels of the second image by simply performing simple segmentation on the first stitched image, so that the second image can be quickly transferred in real time.
[0020] In relation to the first aspect, in some other implementation forms of the first aspect, the first processing unit being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0021] In relation to the first aspect, in some other implementation forms of the first aspect, the first processing unit is particularly configured to perform pixel padding on the first image to obtain the fifth image, rotate the fifth image to obtain the third image, and stitch the third image and the second image to obtain the first stitched image.
[0022] For example, performing pixel padding on the first image may be performing row pixel padding on the first image, thereby increasing the number of row pixels in the first image.
[0023] For example, rotating the fifth image may be rotating the first image by (90°+180°×n), where n is an integer, to obtain the fifth image.
[0024] For example, stitching the third image and the second image may be horizontally stitching the third image and the second image.
[0025] For example, first, the first processing unit performs row pixel padding on a first image having a row pixel count of M and a column pixel count of N, so that the number of pixels in each row of the first image increases from M to Q, and the number of pixels in each column remains unchanged and is still N, to obtain a fifth image. In this case, the number of padding pixels is (QM)×N, and the fifth image has a row pixel count of Q and a column pixel count of N. Second, the first processing unit rotates the fifth image having a row pixel count of Q and a column pixel count of N by (90°+180°×n) to obtain a third image having a row pixel count of N and a column pixel count of Q. Finally, the first processing unit horizontally stitches the third image having a row pixel count of N and a column pixel count of Q with the second image having a row pixel count of P and a column pixel count of Q to obtain a first stitched image having a row pixel count of N+P and a column pixel count of Q. The number of column pixels of the third image and the second image in the acquired first stitched image is the same, and the second image is not processed in the process of acquiring the first stitched image. Therefore, in one aspect, the complexity of processing the second image by the first processing unit is not further increased compared to existing solutions. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. In this way, a device receiving the first stitched image does not need to buffer the pixels of the second image and can extract the rows of pixels of the second image by simply performing simple segmentation on the first stitched image, so that the second image can be quickly transferred in real time.
[0026] In relation to the first aspect, in some other implementation forms of the first aspect, the first processing unit being particularly configured to perform pixel padding on the first image to obtain the fifth image includes the first processing unit being particularly configured to perform pixel padding from a second target position of the first image to obtain the fifth image, wherein the second target position includes at least one of a left position, a right position, or a middle position.
[0027] In relation to the first aspect, in some other implementation forms of the first aspect, the first processing unit is particularly configured to rotate the first image to obtain a fourth image, stitch the fourth image and the second image to obtain a second stitched image, and perform pixel padding on the second stitched image to obtain the first stitched image.
[0028] For example, rotating the first image may be rotating the first image by (90°+180°×n), where n is an integer, to obtain the fourth image.
[0029] For example, stitching the fourth image and the second image may be horizontally stitching the fourth image and the second image.
[0030] For example, performing pixel padding on the second stitching image may be performing column pixel padding on the fourth image in the second stitching image, thereby increasing the number of column pixels of the fourth image so that the second stitching image becomes a regular image.
[0031] In embodiments of the present application, a regular image may be understood as one in which the number of pixels in each row of the image is the same and the number of pixels in each column of the image is the same, where the number of row pixels may be the same or different from the number of column pixels.
[0032] In embodiments of the present application, an irregular image may be understood as one in which the number of pixels in at least one row of the image is different from the number of pixels in another row, and / or the number of pixels in at least one column of the image is different from the number of pixels in another column.
[0033] For example, first, the first processing unit rotates the first image, which has M row pixels and N column pixels, by (90°+180°×n) to obtain a fourth image, which has N row pixels and M column pixels. Second, the first processing unit horizontally stitches the fourth image, which has N row pixels and M column pixels, with the second image, which has P row pixels and Q column pixels, to obtain a second stitched image. In this case, the second stitched image is an irregular image, and the number of pixels (M) in at least one column of the second stitched image is different from the number of pixels (Q) in another column. Finally, the first processing unit performs column pixel padding on columns in the second stitched image whose column pixel number is less than Q (i.e., columns corresponding to the fourth image), so that the number of pixels in each column of the fourth image increases from M to Q to obtain a normal first stitched image. In this case, the number of padding pixels is N×(QM), the number of row pixels of the first stitched image is N+P, and the number of column pixels is Q. The number of column pixels of the third image and the second image in the acquired first stitched image are consistent, and the second image is not processed in the process of acquiring the first stitched image. Therefore, in one aspect, compared with existing solutions, the complexity of processing the second image by the first processing unit is not further increased. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. A device receiving the first stitched image does not need to buffer the pixels of the second image and can extract the rows of pixels of the second image by simply performing simple segmentation on the first stitched image, so that the second image can be quickly transferred in real time.
[0034] In relation to the first aspect, in some other implementation forms of the first aspect, the first processing unit being particularly configured to perform pixel padding on the second stitched image to obtain the first stitched image includes the first processing unit being particularly configured to perform pixel padding from a first target position of the fourth image in the second stitched image to obtain the first stitched image, and the first target position includes an upper position, a lower position, or a middle position.
[0035] In relation to the first aspect, in some implementation forms of the first aspect, the sending unit is particularly configured to send the first stitched image to a second processing unit or a transmission unit.
[0036] For example, the image processing device may further include a first interface, and the sending unit sends the first stitched image to the second processing unit or the transmission unit through the first interface. For example, the first interface includes, but is not limited to, MIPI, oLDI, or DP. For example, the second processing unit includes an FPGA unit and / or Ser.
[0037] According to a second aspect, there is provided an image processing apparatus, the apparatus including: an acquisition unit configured to acquire a first stitched image; and a second processing unit configured to perform a first processing on the first stitched image to acquire a first image and a second image, wherein a number of row pixels of the first stitched image is N+P and a number of column pixels is Q, the first stitched image includes a second image and a third image, N, P, and Q are all positive integers, a number of row pixels of the first image is M and a number of column pixels is N, M>N, M is a positive integer, a number of row pixels of the second image is P and a number of column pixels is Q, Q≧M, the first processing includes segmenting the first stitched image to obtain the second image and the third image, the first processing further includes rotating the third image, or the first processing further includes rotating and unpadding the third image.
[0038] For example, the second processing unit includes a field programmable gate array (FPGA) unit and / or a Ser.
[0039] In the image processing device, first, an acquisition unit acquires a first stitched image having a row pixel number of N+P and a column pixel number of Q, and the first stitched image includes a second image having a row pixel number of P and a column pixel number of Q, and a third image. Second, a second processing unit segments the first stitched image to acquire the second image and the third image, and rotates the third image to acquire the first image, or rotates and unpadding the third image to acquire the first image. The image processing device does not need to process the second image in the process of processing the first stitched image. In one aspect, compared with existing solutions, the complexity of processing the second image by the image processing device is not further increased. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. The image processing device does not need to buffer the pixels of the second image and can extract rows of pixels of the second image by simply performing segmentation on the first stitched image, so that the second image can be quickly transferred in real time. Furthermore, because existing image processing devices do not have a second processing unit, they do not have a de-padding function. Therefore, images transmitted by existing image processing devices include padding pixels. However, in this embodiment of the present application, a second processing unit is disposed in the image processing device so that the second processing unit can de-padding the third image to obtain the first image. In this way, neither the obtained first image nor the second image includes padding pixels. In the subsequent process of transmitting the first image and the second image, in one aspect, the padding pixels do not occupy the transmission bandwidth. This improves the transmission efficiency of the first image and the second image. In another aspect, neither the first image nor the second image includes padding pixels, and the pixel clocks (referring to the number of image pixels transmitted per second) corresponding to the first image and the second image are small, which may result in reduced interface requirements on the device receiving the first image and the second image.
[0040] In relation to the second aspect, in some implementation forms of the second aspect, the second processing unit is particularly configured to segment the first stitched image to obtain the second image and the third image, and to rotate the third image to obtain the first image.
[0041] For example, segmenting the first stitching image may be horizontally segmenting the first stitching image. Horizontal segmenting may be understood as performing row pixel segmentation on the image to obtain multiple images.
[0042] For example, rotating the third image may be rotating the third image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0043] For example, the second processing unit horizontally segments the first stitched image having N+P row pixels and Q column pixels to obtain a second image having P row pixels and Q column pixels and a third image having N row pixels and Q column pixels. In addition, the second processing unit rotates the third image having N row pixels and Q column pixels by (-90°-180°×n) to obtain the first image having Q row pixels and N column pixels.
[0044] In relation to the second aspect, in some other implementation forms of the second aspect, the second processing unit is particularly configured to segment the first stitched image to obtain the second image and the third image, rotate the third image to obtain the fifth image, and unpadding the fifth image to obtain the first image.
[0045] For example, segmenting the first stitching image may be segmenting the first stitching image horizontally.
[0046] For example, rotating the third image may be rotating the third image by (-90°-180°×n), where n is an integer, to obtain the fifth image.
[0047] For example, unpadding the fifth image may be performing row unpadding on the fifth image, thereby reducing the number of row pixels in the fifth image.
[0048] For example, first, the second processing unit horizontally segments the first stitched image having N+P row pixels and Q column pixels to obtain a second image having P row pixels and Q column pixels and a third image having N row pixels and Q column pixels. Second, the second processing unit rotates the third image having N row pixels and Q column pixels by (-90°-180°×n) to obtain a fifth image having Q row pixels and N column pixels. Finally, the second processing unit performs row unpadding on the fifth image having Q row pixels and N column pixels, so that the number of pixels in each row of the fifth image is reduced from Q to M, and the number of pixels in each column remains unchanged and is still N, thereby obtaining the first image. In this case, the number of unpadding pixels is (QM)×N, and the number of row pixels of the first image is M and the number of column pixels is N.
[0049] In relation to the second aspect, in some other implementation forms of the second aspect, the second processing unit being particularly configured to unpadding the fifth image to obtain the first image includes the second processing unit being particularly configured to perform unpadding from a second target position of the fifth image to obtain the first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0050] In relation to the second aspect, in some other implementation forms of the second aspect, the second processing unit is further particularly configured to segment the first stitched image to obtain the second image and the third image, unpadding the third image to obtain the fourth image, and rotating the fourth image to obtain the first image.
[0051] For example, segmenting the first stitching image may be segmenting the first stitching image horizontally.
[0052] For example, unpadding the third image may be performing column unpadding on the third image, thereby reducing the number of column pixels in the third image.
[0053] For example, rotating the fourth image may be rotating the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0054] For example, first, the second processing unit horizontally segments the first stitched image having N+P row pixels and Q column pixels to obtain a second image having P row pixels and Q column pixels and a third image having N row pixels and Q column pixels. Secondly, the second processing unit performs column unpadding on the third image having N row pixels and Q column pixels, so that the number of pixels in each column of the third image is reduced from Q to M, and the number of pixels in each row remains unchanged and is still N, to obtain a fourth image. In this case, the number of unpadding pixels is N×(QM), and the number of row pixels of the fourth image is N and the number of column pixels is M. Finally, the second processing unit rotates the fourth image having N row pixels and M column pixels by (−90°−180°×n) to obtain a first image having M row pixels and N column pixels.
[0055] In relation to the second aspect, in some other implementation forms of the second aspect, being further particularly configured to unpadding the third image to obtain the fourth image includes being particularly configured such that the second processing unit performs unpadding from a first target position of the third image to obtain the fourth image, and the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0056] In relation to the second aspect, in some implementation forms of the second aspect, the apparatus further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0057] According to a third aspect, there is provided an image processing apparatus, the apparatus including: an acquisition unit configured to acquire a first stitched image; and a second processing unit configured to perform a second processing on the first stitched image to acquire a first image and a second image, wherein a number of row pixels of the first stitched image is N+P and a number of column pixels is Q, the first stitched image includes a second image and a third image, N, P, and Q are all positive integers, a number of row pixels of the first image is M and a number of column pixels is N, M>N, M is a positive integer, a number of row pixels of the second image is P and a number of column pixels is Q, Q≧M, the second processing includes unpadding the first stitched image to acquire the second stitched image, and the second processing further includes rotating and segmenting the second stitched image to acquire the first image and the second image.
[0058] For example, the second processing unit includes an FPGA unit and / or a Ser.
[0059] In the image processing device, first, an acquisition unit acquires a first stitched image having a row pixel count of N+P and a column pixel count of Q, and the first stitched image includes a second image having a row pixel count of P and a column pixel count of Q, and a third image. Second, a second processing unit unpadding the first stitched image to obtain the second stitched image, and rotates and segments the second stitched image to obtain the first image and the second image. The image processing device does not need to process the second image in the process of processing the first stitched image. In one aspect, compared with existing solutions, the complexity of processing the second image by the image processing device is not further increased. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. The image processing device does not need to buffer the pixels of the second image and can extract rows of pixels of the second image by only performing simple segmentation on the first stitched image, so that the second image can be quickly transferred in real time. Furthermore, since the existing image processing device does not have a second processing unit, the existing image processing device does not have a padding removal function. Therefore, the image transmitted by the existing image processing device includes padding pixels. However, in this embodiment of the present application, the second processing unit is disposed within the aforementioned image processing device, so that the second processing unit can remove padding from the first stitched image to obtain a second stitched image. In this manner, neither the first image nor the second image finally obtained includes padding pixels. In the subsequent process of transmitting the first image and the second image, in one aspect, the padding pixels do not occupy the transmission bandwidth. This improves the transmission efficiency of the first image and the second image. In another aspect, since neither the first image nor the second image includes padding pixels, the pixel clocks corresponding to the first image and the second image are small, which may reduce the interface requirements on the device receiving the first image and the second image.
[0060] In relation to the third aspect, in some implementation forms of the third aspect, the second processing unit is particularly configured to unpadding the first stitched image to obtain the second stitched image, segmenting the second stitched image to obtain the second image and the fourth image, and rotating the fourth image to obtain the first image.
[0061] For example, unpadding the first stitching image may be performing column unpadding on the third image in the first stitching image, thereby reducing the number of column pixels of the third image, and as a result, converting the first stitching image into an irregular image (i.e., the second stitching image).Segmenting horizontally may be understood as performing row pixel segmentation on the image to obtain multiple images.
[0062] For example, segmenting the second stitching image may be horizontally segmenting the second stitching image. Horizontal segmenting may be understood as performing row pixel segmentation on the image to obtain multiple images.
[0063] For example, rotating the fourth image may be rotating the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0064] For example, first, the second processing unit performs column unpadding on the third image in the first stitched image, whose row pixel number is N+P and whose column pixel number is Q, so that the number of pixels in each column of the third image is reduced from Q to M, and the number of pixels in each row remains unchanged and is still N, thereby obtaining a second stitched image. In this case, the second stitched image is an irregular image, and the number of pixels (M) in at least one column of the second stitched image is different from the number of pixels (Q) in another row, and the second stitched image includes: a second image whose row pixel number is P and whose column pixel number is Q, and a fourth image whose row pixel number is N and whose column pixel number is M. Second, the second processing unit horizontally segments the second stitched image to obtain a second image whose row pixel number is P and whose column pixel number is Q, and a fourth image whose row pixel number is N and whose column pixel number is M. Finally, the second processing unit rotates the fourth image by (-90°-180°×n) to obtain a first image with M row pixels and N column pixels.
[0065] In relation to the third aspect, in some implementation forms of the third aspect, the second processing unit being particularly configured to unpadding the first stitched image to obtain the second stitched image includes the second processing unit being particularly configured to perform unpadding from a first target position of the third image in the first stitched image to obtain the second stitched image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0066] In relation to the third aspect, in some implementation forms of the third aspect, the apparatus further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0067] According to a fourth aspect, there is provided an image processing apparatus, the apparatus including: an acquisition unit configured to acquire a third image; and a third processing unit configured to perform second pre-processing on the third image to acquire the first image, wherein the second pre-processing includes rotating the third image, or the second pre-processing includes rotating and un-padding the third image.
[0068] For example, the third processing unit includes an FPGA unit and / or a Des.
[0069] In the aforementioned image processing device, the acquisition unit acquires a third image, and the third processing unit rotates the third image to acquire the first image, or rotates and unpadding the third image to acquire the first image. Because existing image processing devices do not have a third processing unit, they do not have a unpadding function. Therefore, images transmitted by existing image processing devices include padding pixels. However, in this embodiment of the present application, a third processing unit is provided in the aforementioned image processing device so that the third processing unit can unpadding the third image to acquire the first image. In this way, the acquired first image does not include padding pixels. In the subsequent process of transmitting the first image, in one aspect, the padding pixels do not occupy transmission bandwidth, thereby improving the transmission efficiency of the first image. In another aspect, the first image does not include padding pixels, and the pixel clock corresponding to the first image is small, thereby reducing the interface requirements on the device receiving the first image.
[0070] In relation to the fourth aspect, in some implementation forms of the fourth aspect, the third processing unit is particularly configured to rotate the third image to obtain the first image.
[0071] For example, rotating the third image may be rotating the third image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0072] For example, the third processing unit rotates a third image having N row pixels and M column pixels by (-90°-180°×n) to obtain a first image having M row pixels and N column pixels.
[0073] In relation to the fourth aspect, in some other implementation forms of the fourth aspect, the third processing unit is particularly configured to rotate the third image to obtain the fifth image, and to unpadding the fifth image to obtain the first image.
[0074] For example, rotating the third image may be rotating the third image by (-90°-180°×n), where n is an integer, to obtain the fifth image.
[0075] For example, unpadding the fifth image may be performing row unpadding on the fifth image, thereby reducing the number of row pixels in the fifth image.
[0076] For example, the third processing unit rotates the third image, which has N row pixels and Q column pixels, by (-90°-180°×n) to obtain a fifth image, which has Q row pixels and N column pixels. In addition, the third processing unit performs row unpadding on the fifth image, which has Q row pixels and N column pixels, so that the number of pixels in each row of the fifth image is reduced from Q to M, and the number of pixels in each column remains unchanged and is still N, thereby obtaining the first image. In this case, the number of unpadding pixels is (QM)×N, and the number of row pixels of the first image is M and the number of column pixels is N. In relation to the fourth aspect, in some other implementation forms of the fourth aspect, the third processing unit being particularly configured to unpadding the fifth image to obtain the first image includes the third processing unit being particularly configured to perform unpadding from a second target position of the fifth image to obtain the first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0077] In relation to the fourth aspect, in yet some other implementation forms of the fourth aspect, the third processing unit is particularly configured to unpadding the third image to obtain the fourth image, and to rotate the fourth image to obtain the first image.
[0078] For example, unpadding the third image may be performing column unpadding on the third image, thereby reducing the number of column pixels in the third image.
[0079] For example, rotating the fourth image may be rotating the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0080] For example, the third processing unit performs column padding removal on a third image having a row pixel count of N and a column pixel count of Q, so that the number of pixels in each column of the third image is reduced from Q to M, and the number of pixels in each row remains unchanged and is still N, to obtain a fourth image. In this case, the number of unpadded pixels is N×(QM), and the number of row pixels of the fourth image is N and the number of column pixels is M. In addition, the third processing unit rotates the fourth image having a row pixel count of N and a column pixel count of M by (−90°−180°×n) to obtain a first image having a row pixel count of M and a column pixel count of N.
[0081] In relation to the fourth aspect, in some other implementation forms of the fourth aspect, the third processing unit being particularly configured to unpadding the third image to obtain the fourth image includes the third processing unit being particularly configured to perform unpadding from a first target position of the third image to obtain the fourth image, and the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0082] In relation to the fourth aspect, in some implementation forms of the fourth aspect, the apparatus further includes a transmitting unit configured to transmit the first image.
[0083] For example, the image processing device may further include a second interface, and the transmitting unit may transmit the first image through the second interface. For example, the second interface may include, but is not limited to, MIPI, oLDI, or DP.
[0084] According to a fifth aspect, there is provided an image processing apparatus, the apparatus including: an acquisition unit configured to acquire a fifth image; and a third processing unit configured to unpadding the fifth image to acquire a first image.
[0085] For example, the third processing unit includes an FPGA unit and / or a Des.
[0086] In the above image processing device, the acquisition unit acquires a fifth image, and the third processing unit unpadding the fifth image to acquire a first image. Because existing image processing devices do not have a third processing unit, they do not have a unpadding function. Therefore, images transmitted by existing image processing devices include padding pixels. However, in this embodiment of the present application, the third processing unit is arranged in the image processing device so that the third processing unit can unpadding the fifth image to acquire the first image. In this way, the acquired first image does not include padding pixels. In the subsequent process of transmitting the first image, in one aspect, the padding pixels do not occupy transmission bandwidth. This improves the transmission efficiency of the first image. In another aspect, because the first image does not include padding pixels, the pixel clock corresponding to the first image is small, which can reduce the interface requirements on the device receiving the first image.
[0087] In relation to the fifth aspect, in some implementation forms of the fifth aspect, being configured such that the third processing unit unpadding the fifth image to obtain the first image includes being particularly configured such that the third processing unit performs unpadding from a second target position of the fifth image to obtain the first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0088] In relation to the fifth aspect, in some implementation forms of the fifth aspect, the apparatus further includes a transmitting unit configured to transmit the first image.
[0089] According to a sixth aspect, there is provided an image processing apparatus, the apparatus including: an acquisition unit configured to acquire a fourth image; and a third processing unit configured to rotate the fourth image to acquire a first image.
[0090] For example, the third processing unit includes an FPGA unit and / or a Des.
[0091] For example, rotating the fourth image may be rotating the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0092] For example, the third processing unit rotates a fourth image having N row pixels and M column pixels by (-90°-180°×n) to obtain a first image having M row pixels and N column pixels.
[0093] In relation to the sixth aspect, in some implementation forms of the sixth aspect, the apparatus further includes a transmitting unit configured to transmit the first image.
[0094] For example, the image processing device may further include a second interface, and the transmitting unit may transmit the first image through the second interface. For example, the second interface may include, but is not limited to, MIPI, oLDI, or DP.
[0095] According to a seventh aspect, there is provided an apparatus, the apparatus including: a first processing unit configured to acquire a first stitched image based on a first image and a second image; a sending unit configured to send the first stitched image; an acquiring unit configured to acquire the first stitched image; and a second processing unit configured to perform a first processing on the first stitched image to acquire the first image and the second image, wherein a number of row pixels of the first image is M and a number of column pixels is N, where M>N, and both of M and N are positive integers; a number of row pixels of the second image is P and a number of column pixels is Q, where Q≧M; where P and Q are both positive integers, the number of row pixels of the first stitching image is N+P, and the number of column pixels is Q, the first stitching image includes a second image and a third image, and the third image is an image obtained through a first pre-processing of the first image, the first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image, the first processing includes segmenting the first stitching image to obtain the second image and the third image, and the first processing further includes rotating the third image, or the first processing further includes rotating and unpadding the third image.
[0096] For example, the first processing unit includes a system-on-chip SoC.
[0097] For example, the second processing unit includes an FPGA unit and / or a Ser.
[0098] For example, the device is a domain controller, for example a cockpit domain controller CDC or MDC.
[0099] In the above-mentioned image processing device, the first processing unit first rotates the first image having M row pixels and N column pixels, or rotates and pads the first image having M row pixels and N column pixels to obtain a third image. Then, the first processing unit obtains a first stitched image having N+P row pixels and Q column pixels based on the third image and the second image having P row pixels and Q column pixels. Therefore, the number of padding pixels in the first stitched image is N×(QM). However, according to the existing solution, the first image and the second image are stitched, and the number of padding pixels included in the obtained stitched image is M×(QN). Because Q≧M>N, the number of padding pixels included in the first stitched image obtained by the first processing unit is less than the number of padding pixels included in the stitched image obtained in the existing solution. Therefore, when the transmitting unit transmits the first stitched image acquired by the first processing unit, the padding pixels occupy a small amount of transmission bandwidth, thereby improving the transmission efficiency of the first stitched image. In addition, the second processing unit segments the first stitched image to obtain the second image and the third image, and rotates the third image to obtain the first image, or rotates and unpadding the third image to obtain the first image. The image processing device does not need to process the second image in the process of processing the first stitched image. In one aspect, compared to existing solutions, the complexity of processing the second image by the image processing device is not further increased. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. The image processing device does not need to buffer the pixels of the second image and can extract rows of pixels of the second image by simply performing simple segmentation on the first stitched image, so that the second image can be quickly transferred in real time. Furthermore, existing image processing devices are not provided with a second processing unit, and therefore do not have a padding removal function.Therefore, images transmitted by existing image processing devices include padding pixels. However, in this embodiment of the present application, a second processing unit is disposed in the image processing device so that the second processing unit can unpadding the third image to acquire the first image. In this way, neither the acquired first image nor the acquired second image includes padding pixels. In the subsequent process of transmitting the first image and the second image, in one aspect, the padding pixels do not occupy the transmission bandwidth. This improves the transmission efficiency of the first image and the second image. In another aspect, since neither the first image nor the second image includes padding pixels, the pixel clock (referring to the number of image pixels transmitted per second) corresponding to the first image and the second image is small, thereby reducing the interface requirements on the device receiving the first image and the second image.
[0100] In relation to the seventh aspect, in some implementation forms of the seventh aspect, being configured such that the first processing unit obtains the first stitched image based on the first image and the second image includes being particularly configured such that the first processing unit rotates the first image to obtain the third image, and stitches the third image and the second image to obtain the first stitched image.
[0101] In relation to the seventh aspect, in some implementation forms of the seventh aspect, the first processing unit is further particularly configured to rotate the first image by (90° + 180° × n), where n is an integer, to obtain the third image.
[0102] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit is particularly configured to rotate the first image to obtain the fourth image, perform pixel padding on the fourth image to obtain the third image, and stitch the third image and the second image to obtain the first stitched image.
[0103] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, and the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0104] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit is particularly configured to perform pixel padding on the first image to obtain the fifth image, rotate the fifth image to obtain the third image, and stitch the third image and the second image to obtain the first stitched image.
[0105] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit being particularly configured to perform pixel padding on the first image to obtain the fifth image includes the first processing unit being particularly configured to perform pixel padding from a second target position of the first image to obtain the fifth image, wherein the second target position includes at least one of a left position, a right position, or a middle position.
[0106] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit is further particularly configured to rotate the first image by (90° + 180° × n), where n is an integer, to obtain the fifth image.
[0107] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit is particularly configured to rotate the first image to obtain the fourth image, stitch the fourth image and the second image to obtain the second stitched image, and perform pixel padding on the second stitched image to obtain the first stitched image.
[0108] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit being particularly configured to perform pixel padding on the second stitched image to obtain the first stitched image includes the first processing unit being particularly configured to perform pixel padding from a first target position of the fourth image in the second stitched image to obtain the first stitched image, and the first target position includes an upper position, a lower position, or a middle position.
[0109] In relation to the seventh aspect, in some implementation forms of the seventh aspect, the first processing unit is further particularly configured to rotate the first image by (90° + 180° × n), where n is an integer, to obtain the fourth image.
[0110] In relation to the seventh aspect, in some implementation forms of the seventh aspect, the sending unit is particularly configured to send the first stitched image to a second processing unit or a transmission unit.
[0111] For example, the image processing device may further include a first interface, and the sending unit sends the first stitched image to the second processing unit or the transmission unit through the first interface. For example, the first interface includes, but is not limited to, MIPI, oLDI, or DP.
[0112] In relation to the seventh aspect, in some implementation forms of the seventh aspect, the second processing unit is particularly configured to segment the first stitched image to obtain the second image and the third image, and to rotate the third image to obtain the first image.
[0113] In relation to the seventh aspect, in some implementation forms of the seventh aspect, the second processing unit is further particularly configured to rotate the third image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0114] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit is particularly configured to segment the first stitched image to obtain the second image and the third image, rotate the third image to obtain the fifth image, and unpadding the fifth image to obtain the first image.
[0115] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit being particularly configured to unpadding the fifth image to obtain the first image includes the second processing unit being particularly configured to perform unpadding from a second target position of the fifth image to obtain the first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0116] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit is further particularly configured to rotate the third image by (-90°-180°×n), where n is an integer, to obtain the fifth image.
[0117] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit is further particularly configured to segment the first stitched image to obtain the second image and the third image, unpadding the third image to obtain the fourth image, and rotating the fourth image to obtain the first image.
[0118] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit being further particularly configured to unpadding the third image to obtain the fourth image includes the second processing unit being particularly configured to perform unpadding from a first target position of the third image to obtain the fourth image, and the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0119] In relation to the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0120] In relation to the seventh aspect, in some implementation forms of the seventh aspect, the apparatus further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0121] According to an eighth aspect, an apparatus is provided, the apparatus including: a first processing unit configured to acquire a first stitched image based on a first image and a second image; a sending unit configured to send the first stitched image; an acquiring unit configured to acquire the first stitched image; and a second processing unit configured to perform a second processing on the first stitched image to acquire the first image and the second image, wherein a number of row pixels of the first image is M and a number of column pixels is N, where M>N, and both of M and N are positive integers; a number of row pixels of the second image is P and a number of column pixels is Q, where Q≧M. , both P and Q are positive integers, the number of row pixels of the first stitched image is N+P, the number of column pixels is Q, the first stitched image includes a second image and a third image, the third image is an image obtained through a first pre-processing of the first image, the first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image, the second processing includes unpadding the first stitched image to obtain a second stitched image, and the second processing further includes rotating and segmenting the second stitched image to obtain the first image and the second image.
[0122] For example, the first processing unit includes an SoC.
[0123] For example, the second processing unit includes an FPGA unit and / or a Ser.
[0124] For example, the device is a domain controller, such as a CDC or MDC.
[0125] In the above-mentioned image processing device, the first processing unit first rotates the first image having M row pixels and N column pixels, or rotates and pads the first image having M row pixels and N column pixels to obtain a third image. Then, the first processing unit obtains a first stitched image having N+P row pixels and Q column pixels based on the third image and the second image having P row pixels and Q column pixels. Therefore, the number of padding pixels in the first stitched image is N×(QM). However, according to the existing solution, the first image and the second image are stitched, and the number of padding pixels included in the obtained stitched image is M×(QN). Because Q≧M>N, the number of padding pixels included in the first stitched image obtained by the first processing unit is less than the number of padding pixels included in the stitched image obtained in the existing solution. Therefore, when the transmitting unit transmits the first stitched image acquired by the first processing unit, the padding pixels occupy a small amount of transmission bandwidth, thereby improving the transmission efficiency of the first stitched image. In addition, the second processing unit unpadding the first stitched image to obtain the second stitched image, and rotating and segmenting the second stitched image to obtain the first image and the second image. The image processing device does not need to process the second image in the process of processing the first stitched image. In this way, in one aspect, the complexity of processing the second image by the image processing device is not further increased compared to existing solutions. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. The image processing device does not need to buffer the pixels of the second image and can extract the rows of pixels of the second image by simply performing simple segmentation on the first stitched image, so that the second image can be quickly transferred in real time. Furthermore, existing image processing devices are not provided with a second processing unit, and therefore do not have a padding removal function.Therefore, images transmitted by existing image processing devices include padding pixels. However, in this embodiment of the present application, a second processing unit is disposed within the aforementioned image processing device, so that the second processing unit can unpadding the first stitched image to obtain a second stitched image. In this manner, neither the first nor the second image finally obtained includes padding pixels. In the subsequent process of transmitting the first and second images, in one aspect, the padding pixels do not occupy the transmission bandwidth. This improves the transmission efficiency of the first and second images. In another aspect, since neither the first nor the second image includes padding pixels, the pixel clocks corresponding to the first and second images are small, which may reduce the interface requirements on the device receiving the first and second images.
[0126] In relation to the eighth aspect, in some implementation forms of the eighth aspect, being configured such that the first processing unit obtains the first stitched image based on the first image and the second image includes being particularly configured such that the first processing unit rotates the first image to obtain the third image, and stitches the third image and the second image to obtain the first stitched image.
[0127] In relation to the eighth aspect, in some implementation forms of the eighth aspect, the first processing unit is further particularly configured to rotate the first image by (90° + 180° × n), where n is an integer, to obtain the third image.
[0128] In relation to the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit is particularly configured to rotate the first image to obtain the fourth image, perform pixel padding on the fourth image to obtain the third image, and stitch the third image and the second image to obtain the first stitched image.
[0129] In relation to the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, and the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0130] In relation to the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit is particularly configured to perform pixel padding on the first image to obtain the fifth image, rotate the fifth image to obtain the third image, and stitch the third image and the second image to obtain the first stitched image.
[0131] In relation to the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit being particularly configured to perform pixel padding on the first image to obtain the fifth image includes the first processing unit being particularly configured to perform pixel padding from a second target position of the first image to obtain the fifth image, wherein the second target position includes at least one of a left position, a right position, or a middle position.
[0132] In relation to the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit is further particularly configured to rotate the first image by (90° + 180° × n), where n is an integer, to obtain the fifth image.
[0133] In relation to the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit is particularly configured to rotate the first image to obtain the fourth image, stitch the fourth image and the second image to obtain the second stitched image, and perform pixel padding on the second stitched image to obtain the first stitched image.
[0134] In relation to the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit being particularly configured to perform pixel padding on the second stitched image to obtain the first stitched image includes the first processing unit being particularly configured to perform pixel padding from a first target position of the fourth image in the second stitched image to obtain the first stitched image, and the first target position includes an upper position, a lower position, or a middle position.
[0135] In relation to the eighth aspect, in some implementation forms of the eighth aspect, the first processing unit is further particularly configured to rotate the first image by (90° + 180° × n), where n is an integer, to obtain the fourth image.
[0136] In relation to the eighth aspect, in some implementation forms of the eighth aspect, the sending unit is particularly configured to send the first stitched image to a second processing unit or a transmission unit.
[0137] For example, the image processing device may further include a first interface, and the sending unit sends the first stitched image to the second processing unit or the transmission unit through the first interface. For example, the first interface includes, but is not limited to, MIPI, oLDI, or DP.
[0138] In relation to the eighth aspect, in some implementation forms of the eighth aspect, the second processing unit is particularly configured to unpadding the first stitched image to obtain the second stitched image, segmenting the second stitched image to obtain the second image and the fourth image, and rotating the fourth image to obtain the first image.
[0139] In relation to the eighth aspect, in some implementation forms of the eighth aspect, the second processing unit being particularly configured to unpadding the first stitched image to obtain the second stitched image includes the second processing unit being particularly configured to perform unpadding from a first target position of a third image in the first stitched image to obtain the second stitched image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0140] In relation to the eighth aspect, in some implementation forms of the eighth aspect, the second processing unit is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0141] In relation to the eighth aspect, in some implementation forms of the eighth aspect, the apparatus further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0142] According to a ninth aspect, there is provided an image processing method, the method including: obtaining a first stitching image based on a first image and a second image; and transmitting the first stitching image, wherein a number of row pixels of the first image is M, a number of column pixels is N, M>N, and both M and N are positive integers; a number of pixels of the second image is P, a number of column pixels is Q, Q≧M, and both P and Q are positive integers; the number of pixels of the first stitching image is N+P, and the number of column pixels is Q; the first stitching image includes the second image and a third image, and the third image is an image obtained by a first pre-processing of the first image, wherein the first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image.
[0143] For example, the method may be applied to an SoC.
[0144] In the above technical solution, first, to obtain a third image, a first image having M row pixels and N column pixels is rotated, or a first image having M row pixels and N column pixels is rotated and padded. Then, a first stitched image having N+P row pixels and Q column pixels is obtained based on the third image and a second image having P row pixels and Q column pixels. Therefore, the number of padding pixels in the first stitched image is N×(QM). However, according to the existing solution, the first image and the second image are stitched, and the number of padding pixels included in the obtained stitched image is M×(QN). Since Q≧M>N, the number of padding pixels included in the obtained first stitched image is less than the number of padding pixels included in the stitched image obtained in the existing solution. Therefore, in the process of transmitting the first stitched image, the padding pixels occupy a small amount of transmission bandwidth, thereby improving the transmission efficiency of the first stitched image.
[0145] In relation to the ninth aspect, in some implementation forms of the ninth aspect, obtaining a first stitched image based on a first image and a second image includes rotating the first image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0146] In relation to the ninth aspect, in some implementation forms of the ninth aspect, rotating the first image to obtain the third image includes rotating the first image by (90° + 180° × n) to obtain the third image, where n is an integer.
[0147] In relation to the ninth aspect, in some other implementation forms of the ninth aspect, obtaining a first stitched image based on the first image and the second image includes rotating the first image to obtain a fourth image, performing pixel padding on the fourth image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0148] In relation to the ninth aspect, in some other implementation forms of the ninth aspect, performing pixel padding on the fourth image to obtain the third image includes performing pixel padding from a first target position of the fourth image to obtain the third image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0149] In relation to the ninth aspect, in some other implementation forms of the ninth aspect, obtaining a first stitched image based on the first image and the second image includes performing pixel padding on the first image to obtain a fifth image, rotating the fifth image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0150] In relation to the ninth aspect, in some other implementation forms of the ninth aspect, performing pixel padding on the first image to obtain the fifth image includes performing pixel padding from a second target position of the first image to obtain the fifth image, wherein the second target position includes at least one of a left position, a right position, or a middle position.
[0151] In relation to the ninth aspect, in some other implementation forms of the ninth aspect, rotating the fifth image to obtain the third image includes rotating the fifth image by (90° + 180° × n) to obtain the third image, where n is an integer.
[0152] In relation to the ninth aspect, in some other implementation forms of the ninth aspect, obtaining a first stitched image based on the first image and the second image includes rotating the first image to obtain a fourth image, stitching the fourth image and the second image to obtain a second stitched image, and performing pixel padding on the second stitched image to obtain the first stitched image.
[0153] In relation to the ninth aspect, in some other implementation forms of the ninth aspect, performing pixel padding on the second stitched image to obtain the first stitched image includes performing pixel padding from a first target position of the fourth image in the second stitched image to obtain the first stitched image, and the first target position includes an upper position, a lower position, or a middle position.
[0154] In relation to the ninth aspect, in some implementation forms of the ninth aspect, rotating the first image to obtain the fourth image includes rotating the first image by (90° + 180° × n) to obtain the fourth image, where n is an integer.
[0155] According to a tenth aspect, there is provided an image processing method, the method including: obtaining a first stitched image; and performing a first processing on the first stitched image to obtain a first image and a second image, wherein a number of row pixels of the first stitched image is N+P and a number of column pixels is Q, the first stitched image includes a second image and a third image, N, P, and Q are all positive integers, wherein a number of row pixels of the first image is M and a number of column pixels is N, M>N, M is a positive integer, and a number of row pixels of the second image is P and a number of column pixels is Q, Q≧M, the first processing includes segmenting the first stitched image to obtain the second image and the third image, and the first processing further includes rotating the third image, or the first processing further includes rotating and unpadding the third image.
[0156] For example, the method may be applied to an FPGA unit and / or a Ser.
[0157] In the above technical solution, a first stitched image is obtained, the number of row pixels of which is N+P and the number of column pixels of which is Q. The first stitched image includes a second image having a number of row pixels of which is P and a number of column pixels of which is Q, and a third image. Second, the first stitched image is segmented to obtain a second image and a third image, and the third image is rotated to obtain the first image, or the third image is rotated and unpadded to obtain the first image. The second image does not need to be processed in the process of processing the first stitched image. In this way, in one aspect, the complexity of processing the second image is not further increased compared to existing solutions. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. The pixels of the second image do not need to be buffered, and the rows of pixels of the second image can be extracted by simply performing segmentation on the first stitched image, so that the second image can be quickly transferred in real time. In addition, neither the first image nor the second image includes padding pixels. Therefore, in a subsequent process of transmitting the first image and the second image, in one aspect, the padding pixels do not occupy the transmission bandwidth, thereby improving the transmission efficiency of the first image and the second image. In another aspect, neither the first image nor the second image includes padding pixels, and the pixel clocks (referring to the number of image pixels transmitted per second) corresponding to the first image and the second image are small, thereby reducing the interface requirements on the device receiving the first image and the second image.
[0158] In relation to the tenth aspect, in some implementation forms of the tenth aspect, performing a first processing on the first stitched image to obtain the first image and the second image includes segmenting the first stitched image to obtain the second image and the third image, and rotating the third image to obtain the first image.
[0159] In relation to the tenth aspect, in some implementation forms of the tenth aspect, rotating the third image to obtain the first image includes rotating the third image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0160] In relation to the tenth aspect, in some other implementation forms of the tenth aspect, performing a first processing on the first stitched image to obtain the first image and the second image includes segmenting the first stitched image to obtain the second image and the third image, rotating the third image to obtain the fifth image, and unpadding the fifth image to obtain the first image.
[0161] In relation to the tenth aspect, in some other implementation forms of the tenth aspect, unpadding the fifth image to obtain the first image includes performing unpadding from a second target position of the fifth image to obtain the first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0162] In relation to the tenth aspect, in some other implementation forms of the tenth aspect, rotating the third image to obtain the fifth image includes rotating the third image by (-90°-180°×n) to obtain the fifth image, where n is an integer.
[0163] In relation to the tenth aspect, in some other implementation forms of the tenth aspect, performing a first processing on the first stitched image to obtain the first image and the second image includes segmenting the first stitched image to obtain the second image and the third image, unpadding the third image to obtain the fourth image, and rotating the fourth image to obtain the first image.
[0164] In relation to the tenth aspect, in some other implementation forms of the tenth aspect, unpadding the third image to obtain the fourth image includes performing unpadding from a first target position of the third image to obtain the fourth image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0165] In relation to the tenth aspect, in some other implementation forms of the tenth aspect, rotating the fourth image to obtain the first image includes rotating the fourth image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0166] In relation to the tenth aspect, in some implementation forms of the tenth aspect, the method further includes transmitting a second image through the first port and transmitting the first image through the second port.
[0167] According to an eleventh aspect, there is provided an image processing method, the method comprising: obtaining a first stitched image; and performing a second processing on the first stitched image to obtain a first image and a second image, wherein a number of row pixels of the first stitched image is N+P and a number of column pixels is Q, the first stitched image includes a second image and a third image, N, P, and Q are all positive integers, the number of row pixels of the first image is M and a number of column pixels is N, M>N, M is a positive integer, the number of row pixels of the second image is P and a number of column pixels is Q, Q≧M, the second processing comprises unpadding the first stitched image to obtain the second stitched image, and the second processing further comprises rotating and segmenting the second stitched image to obtain the first image and the second image.
[0168] For example, the method may be applied to an FPGA unit and / or a Ser.
[0169] In the above technical solution, a first stitched image having a row pixel count of N+P and a column pixel count of Q is obtained, and the first stitched image includes a second image having a row pixel count of P and a column pixel count of Q, and a third image. Second, the first stitched image is unpadded to obtain a second stitched image, and the second stitched image is rotated and segmented to obtain the first image and the second image. The second image does not need to be processed in the process of processing the first stitched image. In this way, in one aspect, the complexity of processing the second image is not further increased compared to existing solutions. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. The pixels of the second image do not need to be buffered, and the rows of pixels of the second image can be extracted by simply performing simple segmentation on the first stitched image, so that the second image can be quickly transferred in real time. In addition, neither the first image nor the second image includes padding pixels. Therefore, in a subsequent process of transmitting the first image and the second image, in one aspect, the padding pixels do not occupy the transmission bandwidth, thereby improving the transmission efficiency of the first image and the second image. In another aspect, neither the first image nor the second image includes padding pixels, and the pixel clocks corresponding to the first image and the second image are small, thereby reducing the interface requirements on the device receiving the first image and the second image.
[0170] In relation to the 11th aspect, in some implementation forms of the 11th aspect, performing a second processing on the first stitched image to obtain the first image and the second image includes unpadding the first stitched image to obtain the second stitched image, segmenting the second stitched image to obtain the second image and the fourth image, and rotating the fourth image to obtain the first image.
[0171] In relation to the 11th aspect, in some implementation forms of the 11th aspect, unpadding the first stitched image to obtain a second stitched image includes performing unpadding from a first target position of a third image within the first stitched image to obtain the second stitched image, and the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0172] In relation to the eleventh aspect, in some implementation forms of the eleventh aspect, rotating the fourth image to obtain the first image includes rotating the fourth image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0173] In relation to the eleventh aspect, in some implementation forms of the eleventh aspect, the method further includes transmitting a second image through the first port and transmitting the first image through the second port.
[0174] According to a twelfth aspect, there is provided an image processing method, the method including: acquiring a third image; and performing second pre-processing on the third image to acquire the first image, wherein the second pre-processing includes rotating the third image, or the second pre-processing includes rotating and un-padding the third image.
[0175] For example, the method may be applied to an FPGA unit and / or Des.
[0176] In relation to the twelfth aspect, in some implementation forms of the twelfth aspect, performing a second pre-processing on a third image to obtain a first image includes rotating the third image to obtain the first image.
[0177] In relation to the twelfth aspect, in some implementation forms of the twelfth aspect, rotating the third image to obtain the first image includes rotating the third image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0178] In relation to the twelfth aspect, in some other implementation forms of the twelfth aspect, performing the second pre-processing on the third image to obtain the first image includes rotating the third image to obtain a fifth image, and unpadding the fifth image to obtain the first image.
[0179] In relation to the twelfth aspect, in some other implementation forms of the twelfth aspect, unpadding the fifth image to obtain the first image includes performing unpadding from a second target position of the fifth image to obtain the first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0180] In relation to the twelfth aspect, in some other implementation forms of the twelfth aspect, rotating the third image to obtain the fifth image includes rotating the third image by (-90°-180°×n) to obtain the fifth image, where n is an integer.
[0181] In relation to the twelfth aspect, in some other implementation forms of the twelfth aspect, performing the second pre-processing on the third image to obtain the first image includes unpadding the third image to obtain a fourth image, and rotating the fourth image to obtain the first image.
[0182] In relation to the twelfth aspect, in some other implementation forms of the twelfth aspect, unpadding the third image to obtain the fourth image includes performing unpadding from a first target position of the third image to obtain the fourth image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0183] In relation to the twelfth aspect, in some other implementation forms of the twelfth aspect, rotating the fourth image to obtain the first image includes rotating the fourth image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0184] In relation to the twelfth aspect, in some implementation forms of the twelfth aspect, the method further includes transmitting the first image.
[0185] According to a thirteenth aspect, there is provided an image processing method, the method including: acquiring a fifth image; and unpadding the fifth image to acquire a first image.
[0186] For example, the method may be applied to an FPGA unit and / or Des.
[0187] In the above technical solution, a fifth image is acquired, and the fifth image is de-padding to acquire a first image. Because the first image does not include padding pixels, in a subsequent process of transmitting the first image, in one aspect, no padding pixels occupy the transmission bandwidth. This improves the transmission efficiency of the first image. In another aspect, because the first image does not include padding pixels, the pixel clock corresponding to the first image is small, thereby reducing the interface requirements on the device receiving the first image.
[0188] In relation to the thirteenth aspect, in some implementation forms of the thirteenth aspect, unpadding the fifth image to obtain the first image includes performing unpadding from a second target position of the fifth image to obtain the first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0189] In relation to the thirteenth aspect, in some implementation forms of the thirteenth aspect, the method further includes transmitting the first image.
[0190] According to a fourteenth aspect, there is provided an image processing method, the method including: acquiring a fourth image; and rotating the fourth image to acquire a first image.
[0191] In relation to the fourteenth aspect, in some implementation forms of the fourteenth aspect, rotating the fourth image to obtain the first image includes rotating the fourth image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0192] In relation to the fourteenth aspect, in some implementation forms of the fourteenth aspect, the method further includes transmitting the first image.
[0193] According to a fifteenth aspect, there is provided an image processing method, the method including: obtaining a first stitching image based on a first image and a second image; transmitting the first stitching image; obtaining the first stitching image; and performing a first processing on the first stitching image to obtain the first image and the second image, wherein a number of row pixels of the first image is M and a number of column pixels is N, where M>N, and both M and N are positive integers; a number of row pixels of the second image is P and a number of column pixels is Q, where Q≧M, and both P and Q are positive integers; the number of row pixels of the stitching image is N+P and the number of column pixels is Q; the first stitching image includes a second image and a third image, and the third image is an image obtained through a first pre-processing of the first image, wherein the first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image; the first processing includes segmenting the first stitching image to obtain the second image and the third image, and the first processing further includes rotating the third image, or the first processing further includes rotating and unpadding the third image.
[0194] For example, the method may be applied to a domain controller, such as a CDC or MDC.
[0195] In the above technical solution, first, to obtain a third image, a first image having M row pixels and N column pixels is rotated, or a first image having M row pixels and N column pixels is rotated and padded. Then, a first stitched image having N+P row pixels and Q column pixels is obtained based on the third image and a second image having P row pixels and Q column pixels. Therefore, the number of padding pixels in the first stitched image is N×(QM). However, according to the existing solution, the first image and the second image are stitched, and the number of padding pixels included in the obtained stitched image is M×(QN). Since Q≧M>N, the number of padding pixels included in the obtained first stitched image is less than the number of padding pixels included in the stitched image obtained in the existing solution. Therefore, in the process of transmitting the first stitched image, the padding pixels occupy a small amount of transmission bandwidth, thereby improving the transmission efficiency of the first stitched image. In addition, the first stitched image is segmented to obtain the second and third images, and the third image is rotated to obtain the first image, or the third image is rotated and unpadded to obtain the first image. The second image does not need to be processed in the process of processing the first stitched image. In this way, in one aspect, the complexity of processing the second image is not further increased compared to existing solutions. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. The pixels of the second image do not need to be buffered, and the rows of pixels of the second image can be extracted by simply performing segmentation on the first stitched image, so that the second image can be quickly transferred in real time. In addition, neither the first image nor the second image includes padding pixels. Therefore, in one aspect, in the subsequent process of transmitting the first and second images, the padding pixels do not occupy transmission bandwidth. This improves the transmission efficiency of the first and second images.In another aspect, neither the first image nor the second image includes padding pixels, and the pixel clocks (referring to the number of image pixels transmitted per second) corresponding to the first image and the second image are small, which may result in reduced interface requirements on the device receiving the first image and the second image.
[0196] In relation to the fifteenth aspect, in some implementation forms of the fifteenth aspect, obtaining a first stitched image based on a first image and a second image includes rotating the first image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0197] In relation to the fifteenth aspect, in some implementation forms of the fifteenth aspect, rotating the first image to obtain the third image includes rotating the first image by (90° + 180° × n) to obtain the third image, where n is an integer.
[0198] In relation to the 15th aspect, in some other implementation forms of the 15th aspect, obtaining a first stitched image based on the first image and the second image includes rotating the first image to obtain a fourth image, performing pixel padding on the fourth image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0199] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, performing pixel padding on the fourth image to obtain the third image includes performing pixel padding from a first target position of the fourth image to obtain the third image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0200] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, obtaining a first stitched image based on the first image and the second image includes performing pixel padding on the first image to obtain a fifth image, rotating the fifth image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0201] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, performing pixel padding on the first image to obtain the fifth image includes performing pixel padding from a second target position of the first image to obtain the fifth image, wherein the second target position includes at least one of a left position, a right position, or a middle position.
[0202] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, rotating the fifth image to obtain the third image includes rotating the fifth image by (90° + 180° × n) to obtain the third image, where n is an integer.
[0203] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, obtaining a first stitched image based on the first image and the second image includes rotating the first image to obtain a fourth image, stitching the fourth image and the second image to obtain a second stitched image, and performing pixel padding on the second stitched image to obtain the first stitched image.
[0204] In relation to the 15th aspect, in some other implementation forms of the 15th aspect, performing pixel padding on the second stitched image to obtain the first stitched image includes performing pixel padding from a first target position of the fourth image in the second stitched image to obtain the first stitched image, and the first target position includes an upper position, a lower position, or an intermediate position.
[0205] In relation to the fifteenth aspect, in some implementation forms of the fifteenth aspect, rotating the first image to obtain the fourth image includes rotating the first image by (90° + 180° × n) to obtain the fourth image, where n is an integer.
[0206] In relation to the fifteenth aspect, in some implementation forms of the fifteenth aspect, performing a first processing on the first stitched image to obtain the first image and the second image includes segmenting the first stitched image to obtain the second image and the third image, and rotating the third image to obtain the first image.
[0207] In relation to the fifteenth aspect, in some implementation forms of the fifteenth aspect, rotating the third image to obtain the first image includes rotating the third image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0208] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, performing a first processing on the first stitched image to obtain the first image and the second image includes segmenting the first stitched image to obtain the second image and the third image, rotating the third image to obtain the fifth image, and unpadding the fifth image to obtain the first image.
[0209] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, unpadding the fifth image to obtain the first image includes performing unpadding from a second target position of the fifth image to obtain the first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0210] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, rotating the third image to obtain the fifth image includes rotating the third image by (-90°-180°×n) to obtain the fifth image, where n is an integer.
[0211] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, performing a first processing on the first stitched image to obtain the first image and the second image includes segmenting the first stitched image to obtain the second image and the third image, unpadding the third image to obtain the fourth image, and rotating the fourth image to obtain the first image.
[0212] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, unpadding the third image to obtain the fourth image includes performing unpadding from a first target position of the third image to obtain the fourth image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0213] In relation to the fifteenth aspect, in some other implementation forms of the fifteenth aspect, rotating the fourth image to obtain the first image includes rotating the fourth image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0214] In relation to the fifteenth aspect, in some implementation forms of the fifteenth aspect, the method further includes transmitting a second image through the first port and transmitting the first image through the second port.
[0215] According to a sixteenth aspect, there is provided an image processing method, the method including: obtaining a first stitching image based on a first image and a second image; transmitting the first stitching image; obtaining the first stitching image; and performing a second processing on the first stitching image to obtain the first image and the second image, wherein a number of row pixels of the first image is M, a number of column pixels is N, M>N, and both M and N are positive integers; a number of pixels of the second image is P, a number of column pixels is Q, Q≧M, and both P and Q are positive integers; the number of pixels of the stitched image is N+P, the number of column pixels is Q, the first stitched image includes a second image and a third image, the third image is an image obtained through a first pre-processing of the first image, the first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image, the second processing includes unpadding the first stitched image to obtain a second stitched image, and the second processing further includes rotating and segmenting the second stitched image to obtain the first image and the second image.
[0216] For example, the method may be applied to a domain controller, such as a CDC or MDC.
[0217] In the above technical solution, first, to obtain a third image, a first image having M row pixels and N column pixels is rotated, or a first image having M row pixels and N column pixels is rotated and padded. Then, a first stitched image having N+P row pixels and Q column pixels is obtained based on the third image and a second image having P row pixels and Q column pixels. Therefore, the number of padding pixels in the first stitched image is N×(QM). However, according to the existing solution, the first image and the second image are stitched, and the number of padding pixels included in the obtained stitched image is M×(QN). Since Q≧M>N, the number of padding pixels included in the obtained first stitched image is less than the number of padding pixels included in the stitched image obtained in the existing solution. Therefore, in the process of transmitting the first stitched image, the padding pixels occupy a small amount of transmission bandwidth, thereby improving the transmission efficiency of the first stitched image. In addition, the first stitched image is unpadded to obtain a second stitched image, and the second stitched image is rotated and segmented to obtain the first image and the second image. The second image does not need to be processed in the process of processing the first stitched image. In this way, in one aspect, the complexity of processing the second image is not further increased compared to existing solutions. In another aspect, each row of the first stitched image includes a complete row of pixels of the second image. The pixels of the second image do not need to be buffered, and the rows of pixels of the second image can be extracted by simply performing segmentation on the first stitched image, so that the second image can be quickly transferred in real time. In addition, neither the first image nor the second image includes padding pixels. Therefore, in one aspect, in the subsequent process of transmitting the first image and the second image, the padding pixels do not occupy transmission bandwidth. This improves the transmission efficiency of the first image and the second image.In another aspect, neither the first image nor the second image includes padding pixels, and the pixel clocks (referring to the number of image pixels transmitted per second) corresponding to the first image and the second image are small, which may result in reduced interface requirements on the device receiving the first image and the second image.
[0218] In relation to the sixteenth aspect, in some implementation forms of the sixteenth aspect, obtaining a first stitched image based on a first image and a second image includes rotating the first image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0219] In relation to the sixteenth aspect, in some implementation forms of the sixteenth aspect, rotating the first image to obtain the third image includes rotating the first image by (90° + 180° × n) to obtain the third image, where n is an integer.
[0220] In relation to the 16th aspect, in some other implementation forms of the 16th aspect, obtaining a first stitched image based on the first image and the second image includes rotating the first image to obtain a fourth image, performing pixel padding on the fourth image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0221] In relation to the sixteenth aspect, in some other implementation forms of the sixteenth aspect, performing pixel padding on the fourth image to obtain the third image includes performing pixel padding from a first target position of the fourth image to obtain the third image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0222] In relation to the 16th aspect, in some other implementation forms of the 16th aspect, obtaining a first stitched image based on the first image and the second image includes performing pixel padding on the first image to obtain a fifth image, rotating the fifth image to obtain a third image, and stitching the third image and the second image to obtain the first stitched image.
[0223] In relation to the sixteenth aspect, in some other implementation forms of the sixteenth aspect, performing pixel padding on the first image to obtain the fifth image includes performing pixel padding from a second target position of the first image to obtain the fifth image, wherein the second target position includes at least one of a left position, a right position, or a middle position.
[0224] In relation to the sixteenth aspect, in some other implementation forms of the sixteenth aspect, rotating the fifth image to obtain the third image includes rotating the fifth image by (90° + 180° × n) to obtain the third image, where n is an integer.
[0225] In relation to the sixteenth aspect, in some other implementation forms of the sixteenth aspect, obtaining a first stitched image based on the first image and the second image includes rotating the first image to obtain a fourth image, stitching the fourth image and the second image to obtain a second stitched image, and performing pixel padding on the second stitched image to obtain the first stitched image.
[0226] In relation to the 16th aspect, in some other implementation forms of the 16th aspect, performing pixel padding on the second stitched image to obtain the first stitched image includes performing pixel padding from a first target position of the fourth image in the second stitched image to obtain the first stitched image, and the first target position includes an upper position, a lower position, or a middle position.
[0227] In relation to the sixteenth aspect, in some implementation forms of the sixteenth aspect, rotating the first image to obtain the fourth image includes rotating the first image by (90° + 180° × n) to obtain the fourth image, where n is an integer.
[0228] In relation to the sixteenth aspect, in some implementation forms of the sixteenth aspect, performing a second processing on the first stitched image to obtain the first image and the second image includes unpadding the first stitched image to obtain the second stitched image, segmenting the second stitched image to obtain the second image and the fourth image, and rotating the fourth image to obtain the first image.
[0229] In relation to the 16th aspect, in some implementation forms of the 16th aspect, unpadding the first stitched image to obtain a second stitched image includes performing unpadding from a first target position of a third image within the first stitched image to obtain the second stitched image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0230] In relation to the sixteenth aspect, in some implementation forms of the sixteenth aspect, rotating the fourth image to obtain the first image includes rotating the fourth image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0231] In relation to the sixteenth aspect, in some implementation forms of the sixteenth aspect, the method further includes transmitting a second image through the first port and transmitting the first image through the second port.
[0232] According to a seventeenth aspect, an apparatus is provided, the apparatus including an image processing device according to any one of the fourth to sixth aspects and some implementation forms of the fourth to sixth aspects.
[0233] In relation to the seventeenth aspect, in some implementation forms of the seventeenth aspect, the device further includes a display configured to display the first image.
[0234] According to an 18th aspect, there is provided an image processing device including at least one memory and at least one processor, wherein the at least one memory is configured to store a program, and the at least one processor is configured to run the program to implement a method according to any one of the 9th aspect to the 16th aspect and some implementations of the 9th aspect to some implementations of the 16th aspect.
[0235] According to a 19th aspect, there is provided a computer-readable storage medium, the computer-readable storage medium storing a program or instructions, which, when executed, enables a computer to perform a method according to any one of the 9th aspect to the 16th aspect and some implementation forms of the 9th aspect to some implementation forms of the 16th aspect.
[0236] According to a twentieth aspect, there is provided a chip including at least one processor and an interface circuit, wherein the interface circuit is configured to provide program instructions or data to the at least one processor, and the at least one processor is configured to execute the program instructions to implement a method according to any one of the ninth aspect to the sixteenth aspect and some implementation forms of the ninth aspect to some implementation forms of the sixteenth aspect.
[0237] According to a 21st aspect, there is provided a chip, the chip being configured to implement functions of an apparatus according to any one of the first aspect to the eighth aspect and some implementation forms of the first aspect to some implementation forms of the eighth aspect.
[0238] According to a 22nd aspect, there is provided a terminal device, which includes an apparatus according to any one of the first aspect to the eighth aspect and some implementation forms of the first aspect to the eighth aspect.
[0239] Furthermore, the terminal device may be an intelligent transportation device (vehicle or unmanned aerial vehicle), a smart home device, an intelligent manufacturing device, an intelligent wearable device, a robot, etc. The intelligent transportation device may be, for example, an automated guided vehicle (AGV) or an unmanned transport vehicle.
[0240] According to a 23rd aspect, there is provided a computer program product, the computer program product comprising computer program code, which, when run on a computer, performs a method according to any one of the 9th aspect to the 16th aspect and some implementation forms of the 9th aspect to some implementation forms of the 16th aspect. [Brief explanation of the drawings]
[0241] [Figure 1] FIG. 1 is a schematic diagram of an example of an application scenario according to an embodiment of the present application. [Figure 2] FIG. 1 is a schematic diagram of an example of a device transmitting an image. [Figure 3] FIG. 2 is a schematic diagram of an example of a transmitted image. [Figure 4] 1 is a schematic flowchart of an example of an image processing method according to an embodiment of the present application. [Figure 5]FIG. 10 is a schematic diagram of an example of obtaining a first stitching image based on a first image and a second image according to an embodiment of the present application; [Figure 6] 3A-3C are schematic diagrams of three examples of performing pixel padding on a fourth image to obtain a third image according to an embodiment of the present application; [Figure 7] FIG. 10 is a schematic diagram of another example of obtaining a first stitching image based on a first image and a second image according to an embodiment of the present application; [Figure 8] 3A-3C are schematic diagrams of three examples of performing pixel padding on a first image to obtain a fifth image according to an embodiment of the present application; [Figure 9] FIG. 10 is a schematic diagram of yet another example of obtaining a first stitching image based on a first image and a second image according to an embodiment of the present application; [Figure 10] FIG. 4 is a schematic flow diagram of another example of an image processing method according to an embodiment of the present application. [Figure 11] FIG. 10 is a schematic diagram of an example of obtaining a first image and a second image based on a first stitching image according to an embodiment of the present application; [Figure 12] FIG. 10 is a schematic diagram of another example of obtaining a first image and a second image based on a first stitching image according to an embodiment of the present application; [Figure 13] 10A-10C are schematic diagrams of three examples of unpadding a fifth image to obtain a first image according to an embodiment of the present application; [Figure 14] 10A-10C are schematic diagrams of three examples of unpadding a third image to obtain a fourth image according to an embodiment of the present application; [Figure 15] 10 is a schematic flowchart of yet another example of an image processing method according to an embodiment of the present application. [Figure 16] 10 is a schematic flowchart of yet another example of an image processing method according to an embodiment of the present application. [Figure 17] 10 is a schematic flowchart of yet another example of an image processing method according to an embodiment of the present application. [Figure 18]4 is a schematic flowchart of a further example of an image processing method according to an embodiment of the present application; [Figure 19] 1 is a schematic diagram illustrating a configuration of an example of an image processing device according to an embodiment of the present application. [Figure 20] FIG. 10 is a schematic diagram of another example of the configuration of an image processing device according to an embodiment of the present application. [Figure 21] FIG. 10 is a schematic diagram of a configuration of yet another example of an image processing device according to an embodiment of the present application. [Figure 22] FIG. 10 is a schematic diagram of a configuration of yet another example of an image processing device according to an embodiment of the present application. [Figure 23] FIG. 10 is a schematic diagram of a configuration of yet another example of an image processing device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION
[0242] The technical solutions of the present application are described below with reference to the accompanying drawings.
[0243] For example, FIG. 1 is a schematic diagram of an example application scenario according to an embodiment of the present application.
[0244] As shown in FIG. 1 , a first device 10 includes an SoC 11 and a serializer (Ser) 12. The SoC 11 can transmit information to the Ser 12 via, for example, a mobile industry processor interface (MIPI), an open low voltage differential signaling (LVDS) display interface (oLDI), or a display port (DP). The second device 20 includes a Des 21 and a display 22. The Des 21 can transmit information to the display 22 via, for example, MIPI, oLDI, or DP. The third device 30 includes a Des 31 and a display 32. The Des 31 can transmit information to the display 32 via, for example, MIPI, oLDI, or DP. Ser 12 of the first device 10 can transmit information to Des 21 of the second device 20 via port 121a and cable 121b. Ser 12 of the first device 10 can further transmit information to Des 31 of the third device 30 via port 122a and cable 122b.
[0245] For example, the first device 10 may include, but is not limited to, a domain controller, such as a CDC or an MDC. For example, the second device 20 or the third device 30 may include, but is not limited to, an in-vehicle infotainment (IVI) device, a head-up display (HUD) device, an in-vehicle device, etc.
[0246] In one example, the first device 10 transmits two images generated or stored internally or acquired from another device to the second device 20 and the third device 30 separately for display by the second device 20 and the third device 30. The SoC 11 needs to stitch the display image data of the two displays (display 22 and display 32) into a normal large image through processing and transmit the stitched image through MIPI, oLDI, or DP. The Ser 12 (which supports 1 to 2, i.e., supports segmenting one image into two images) performs segmentation on the large image to obtain two images and transmits the images separately to the second device 20 and the third device 30 through two ports of the serializer for display.
[0247] For example, the SoC 11 of the first device 10 needs to stitch (horizontally or vertically) Image 1 (e.g., 3840x720 pixels) and Image 2 (e.g., 480x240 pixels) into a normal large image. The Ser 12 of the first device 10 performs segmentation on the large image to obtain two images, and then sends the images separately to the second device 20 and the third device 30 through two ports of the serializer for display.
[0248] In the embodiment of the present application, an example in which the number of pixels is represented by the number of row pixels x the number of column pixels is used for explanation.
[0249] For example, a pixel count of 3840×720 means that there are 3840 row pixels and 720 column pixels.
[0250] It should be understood that the number of pixels may alternatively be expressed by the number of column pixels by the number of row pixels, which is not a limitation in this application.
[0251] In some embodiments, the number of pixels in an image may alternatively be represented by the resolution of the image.
[0252] For example, the resolution of an image may be expressed as horizontal resolution x vertical resolution, or vertical resolution x horizontal resolution. Vertical resolution may be understood as the amount of horizontal scan lines of an image in the vertical direction, and horizontal resolution is the number of pixels on each horizontal scan. In other words, vertical resolution may correspond to the number of column pixels, and horizontal resolution may correspond to the number of row pixels.
[0253] For example, an image resolution of 3840x720 means that there are 720 horizontal scan lines across the image, and 3840 pixels in each horizontal scan line.
[0254] In embodiments of the present application, a regular image may be understood as one in which the number of pixels in each row of the image is the same and the number of pixels in each column of the image is the same, where the number of row pixels may be the same or different from the number of column pixels.
[0255] In embodiments of the present application, an irregular image may be understood as one in which the number of pixels in at least one row of the image is different from the number of pixels in another row, and / or the number of pixels in at least one column of the image is different from the number of pixels in another column.
[0256] In the embodiment of the present application, horizontal stitching can be understood as performing row pixel stitching on two images. After horizontal stitching, the row pixel number is the sum of the row pixel numbers of the two images. Vertical stitching can be understood as performing column pixel stitching on two images. After vertical stitching, the column pixel number is the sum of the column pixel numbers of the two images.
[0257] 2 and 3, the process by which a first device 10 separately transmits image 1 to a second device 20 and image 2 to a third device 30 for display will be described in detail below.
[0258] FIG. 2 is a schematic diagram of an example in which a first device 10 transmits an image to a second device 20 and a third device 30. As shown in FIG.
[0259] For example, as shown in FIG. 2, due to pin and interface limitations of the SoC, multiple images cannot be distinguished at the interface layer of the SoC and Ser. SoC 11 needs to horizontally stitch Image 1 and Image 2 into a regular large image. However, because the display formats of Image 1 and Image 2 do not match, for example, the number of column pixels of Image 2 is less than the number of column pixels of Image 1. For example, padding pixels may be added to the bottom of Image 2 for padding to match the display format of Image 1, so that the number of column pixels (720) of the large image obtained through stitching Image 1 and Image 2 matches that of Image 1. For example, FIG. 3 is a schematic diagram of a large image obtained through stitching Image 1 and Image 2 and pixel padding.
[0260] Also, as shown in FIG. 2, SoC 11 may send the stitched large image to Ser 12 via MIPI, oLDI, or DP. After receiving the large image, Ser 12 needs to segment the large image. For example, after receiving the large image shown in FIG. 2, Ser 12 needs to horizontally divide the large image to obtain Image 1 and Image 3, where Image 3 includes Image 1 and padding pixels. Ser 12 may send Image 1 to Des 21 via port 121a and cable 121b, and send Image 3 to Des 31 via port 122a and cable 122b.
[0261] In the embodiments of the present application, horizontally dividing (or horizontally segmenting) may be understood as performing row pixel division (or segmentation) on an image to obtain multiple images, or may be understood as the inverse process of horizontal stitching. Vertically dividing (or vertically segmenting) may be understood as performing column pixel division (or segmentation) on an image to obtain multiple images, or may be understood as the inverse process of vertical stitching.
[0262] Because Des 31 does not have the ability to prune (unpadding) padding pixels, Des 31 directly transmits image 3 to display 32 via MIPI or oLDI. After receiving image 3, display 32 prunes the padding pixels of image 3 to obtain image 2, and image 2 is displayed on display 32.
[0263] In the process of the first device 10 transmitting image 3 to the third device 30, it can be seen that image 3 includes padding pixels, which occupy the transmission bandwidth. This causes low transmission efficiency. In addition, because image 3 transmitted by the Des 31 includes padding pixels, the pixel clock (PLCK) is large. This imposes higher interface requirements on the MIPI, oLDI, or DP on the display 32, and some screen-side devices cannot adapt to the pixel clock. PLCK is the number of image pixels transmitted per second, and the corresponding clock needs to be set on the transmitter and receiver based on PLCK. The pixel clock is related to the image format and frame rate. For example, for image 1, if the frame rate is 60 frames per second, the number of pixels that need to be transmitted per second is 3840 × 720 × 60 = 165,888,000, that is, PLCK = 165.888 MHz. For image 3, the number of pixels that need to be transmitted per second is 480 x 720 x 60 = 20,736,000, i.e., PLCK = 20.736 MHz. For image 2, the number of pixels that need to be transmitted per second is 480 x 240 x 60 = 6,912,000, i.e., PLCK = 6.912 MHz. The PLCK of image 3 is a 200% improvement over the PLCK of image 2. A higher PLCK indicates higher requirements for the hardware capabilities of the transmitter and receiver.
[0264] Therefore, an embodiment of the present application provides an image processing method, and an image obtained by using this method includes fewer padding pixels. Therefore, in the process of transmitting the image, the padding pixels occupy a small amount of transmission bandwidth, thereby improving the efficiency of image transmission.
[0265] The image processing method provided in the embodiments of the present application will be described in detail below with reference to certain accompanying drawings.
[0266] FIG. 4 is a schematic flow chart of an example of an image processing method 200 according to an embodiment of the present application.
[0267] For example, as shown in FIG. 4, the method 200 includes the following steps.
[0268] S210: Obtain a first stitching image based on the first image and the second image. The number of row pixels of the first image is M, and the number of column pixels is N, where M>N. The number of row pixels of the second image is P, and the number of column pixels is Q, where Q≧M. The number of row pixels of the first stitching image is N+P, and the number of column pixels is Q. The first stitching image includes the second image and a third image. The third image is an image obtained by a first pre-processing of the first image. The first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image.
[0269] It should be understood that the number of pixels according to the embodiments of the present application is a positive integer, specifically, M, N, P, and Q are positive integers.
[0270] It should be understood that in the embodiment of the present application, the number of row pixels refers to the number of pixels in each row.
[0271] For example, the number of row pixels of the first image is M, that is, there are M pixels in each row of the first image. In another example, the number of row pixels of the second image is P, that is, there are P pixels in each row of the first image. In another example, the number of row pixels of the first stitched image is N+P, that is, there are N+P pixels in each row of the first stitched image.
[0272] It should be understood that in the embodiment of the present application, the number of column pixels is the number of pixels in each column. For example, the number of column pixels of the first image is N, that is, there are N pixels in each column of the first image.
[0273] For example, the number of column pixels of the first image is N, i.e., there are N pixels in each column of the first image. In another example, the number of column pixels of the second image is Q, i.e., there are Q pixels in each column of the first image. In another example, the number of column pixels of the first stitched image is Q, i.e., there are Q pixels in each column of the first stitched image.
[0274] For ease of explanation, an example in which the number of pixels in an image is represented by the number of row pixels x the number of column pixels is used for the following description. It should be understood that the number of pixels in an image can alternatively be represented by the number of column pixels x the number of row pixels, which is not a limitation in this application.
[0275] In all embodiments of the present application, the relationship between the values of P and Q is not limited. For example, P may be greater than, equal to, or less than Q. In the accompanying drawings below, an example in which P is greater than Q is used for explanation.
[0276] In the embodiment of the present application, the manner of implementing S210 is not limited. The following describes S210 in detail by using Scheme 1 to Scheme 4 as an example. Scheme 1, Scheme 3, and Scheme 4 are applicable when the number of pixels of the first image and the number of pixels of the second image satisfy Q>M. Scheme 2 is applicable when the number of pixels of the first image and the number of pixels of the second image satisfy Q=M.
[0277] Method 1 Method 1 may include steps S11 to S13. S11 to S13 will be specifically described below.
[0278] S11: Rotate the first image to obtain a fourth image.
[0279] In some embodiments, the first image can be rotated by (90° + 180° × n) to obtain the fourth image, where the number of pixels in the fourth image is N × M.
[0280] In an embodiment of the present application, n is an integer. For example, when n is 0, the first image can be rotated 90° to obtain the fourth image. In another example, when n is 1, the first image can be rotated 270° to obtain the fourth image. In another example, when n is −1, the first image can be rotated −90° to obtain the fourth image.
[0281] The positive and negative directions of the image rotation angle are not limited in the embodiments of the present application. For example, the positive direction of the image rotation angle may be the clockwise direction, and the negative direction of the image rotation angle is the counterclockwise direction. In another example, the positive direction of the image rotation angle may be the counterclockwise direction, and the negative direction of the image rotation angle is the clockwise direction. An example in which the positive direction of the image rotation angle is the clockwise direction and the negative direction of the image rotation angle is the counterclockwise direction is used for explanation.
[0282] For example, Figure 5 is a schematic diagram of an example of obtaining a first stitching image 504 based on a first image 501 and a second image 502 in Scheme 1 according to an embodiment of the present application. As shown in Figure 5, the number of pixels of the first image 501 is 480x240, that is, M=480, N=240. The number of pixels of the second image 502 is 3840x720, that is, P=3840, Q=720. S11 may specifically include rotating the first image by 90° (for example, rotating the first image clockwise by 90°) to obtain a fourth image 5031. In this case, the number of pixels of the fourth image 5031 is 240x480.
[0283] Furthermore, when the fourth image and the second image are stitched into an irregular image, S12 needs to be further performed on the fourth image so that the fourth image and the second image can be stitched into a regular image.
[0284] S12: Perform pixel padding on the fourth image to obtain a third image.
[0285] In some embodiments, since the number of pixels in the fourth image is N×M and the number of pixels in the second image is P×Q, column pixel padding may be performed on the fourth image, so that the fourth image and the second image can be horizontally stitched into a regular image, and the number of pixels in each column of the fourth image increases from M to Q, and the number of pixels in each row remains unchanged and is still N. Therefore, the number of column pixels of the third image obtained through pixel padding is the same as the number of column pixels of the second image. In this case, the number of padded pixels in the fourth image is N×(QM), and the number of pixels in the third image is N×Q.
[0286] For ease of explanation, the embodiment of this application uses horizontal stitching as an example for the following description.
[0287] In some embodiments, pixel padding can be performed from a first target position of the fourth image to obtain the third image, for example, the first target position includes at least one of a top position, a bottom position, or a middle position.
[0288] In some embodiments, the first target location may be preset.
[0289] For example, in the embodiment of the present application, the bottom position of an image may be understood as the position of the last line of the image. For example, the bottom position of a fourth image may be understood as the position of the last line of the fourth image.
[0290] FIG. 6 is a schematic diagram of three examples of performing pixel padding on a fourth image to obtain a third image according to an embodiment of the present application.
[0291] 6(a), pixel padding is performed from the bottom position (the position of the last row) of the fourth image 5031 onwards to obtain the third image 503. In this case, the number of pixels in the third image 503 is 240 × 720, the third image 503 includes the fourth image 5031 and a pixel padding region 5032, and the number of pixels in the pixel padding region 5032 is 240 × 240.
[0292] For example, in the embodiment of the present application, the top position of an image may be understood as the position of the first row of the image, for example, the top position of a fourth image may be understood as the position of the first row of the fourth image.
[0293] 6(b), pixel padding is performed before the start position (position of the first row) of the fourth image 5031 to obtain the third image 503. In this case, the number of pixels in the third image 503 is 240 × 720, the third image 503 includes the fourth image 5031 and a pixel padding region 5032, and the number of pixels in the pixel padding region 5032 is 240 × 240.
[0294] For example, in an embodiment of the present application, the intermediate position of an image may be understood as any one or more positions from the first row (excluding the first row) to the last row (excluding the last row) of the image. For example, the intermediate position of a fourth image may be understood as any one or more positions from the first row (excluding the first row) to the last row (excluding the last row) of the fourth image.
[0295] In some embodiments, at least one intermediate position may be included, and the number of intermediate positions is not limited in this application.
[0296] Optionally, in an embodiment including multiple intermediate positions, S12 specifically includes: first, performing column pixel segmentation (which may be understood as the aforementioned vertical division) on the fourth image to obtain multiple first sub-images; second, the multiple first sub-images are spaced apart such that first gap regions are formed between the multiple first sub-images; and finally, performing pixel padding on the first gap regions to obtain a third image.
[0297] For example, the amount of first sub-images is not limited in the embodiments of the present application, as long as the amount of first sub-images is greater than 1. For example, as shown in FIG. 6(c), an example in which there are three first sub-images is used for explanation.
[0298] For example, the size of each of the plurality of first sub-images obtained through column pixel segmentation of the fourth image is not limited in the embodiments of the present application.
[0299] 6(c), to obtain the third image 503, pixel padding is performed from two intermediate positions (at least one position of any of the first row to the last row) of the fourth image 5031. Specifically, first, column pixel segmentation is performed on the fourth image 5031 to obtain three first sub-images, namely, a first sub-image 50311, a first sub-image 50312, and a first sub-image 50313. Second, the first sub-images 50311, 50312, and 50313 are spaced apart such that first gap regions 50321 and 50322 are formed between the first sub-images 50311, 50312, and 50313. Finally, pixel padding is performed on the first gap region 50321 and the first gap region 50322 to obtain the third image 503. In this case, the number of pixels of the third image 503 is 240x720, and the third image 503 includes a first sub-image 50311, a first sub-image 50312, a first sub-image 50313, a first gap region 50321 filled with pixels, and a first gap region 50322 filled with pixels.
[0300] For example, the size of the intervals between the multiple first sub-images is not limited in the embodiments of the present application, and for example, the intervals between the first sub-images may be equal.
[0301] 5, according to S12, pixel padding is performed after the bottom position of the fourth image 5031 to obtain the third image 503. The number of pixels of the third image 503 is 240×720.
[0302] It should be understood that in FIG. 5, S12 is explained by using an example in which pixel padding is performed after the bottom position of the fourth image 5031 to obtain the third image 503.
[0303] S13: Stitch the third image and the first image to obtain a first stitched image.
[0304] In some embodiments, the third image and the first image are stitched horizontally to obtain the first stitched image.
[0305] For example, as shown in Figure 5, the third image 503 and the first image 502 are stitched horizontally to obtain a first stitched image 504. In this case, the number of pixels of the first stitched image is (240 + 3840) x 720.
[0306] From Scheme 1 described above, it can be seen that in Scheme 1, the first pre-processing includes rotating and padding the first image.
[0307] Method 2 Method 2 may include steps S21 and S22. S21 and S22 will be described in detail below.
[0308] S21: Rotate the first image to obtain a third image.
[0309] In some embodiments, the first image can be rotated by (90°+180°×n) to obtain the third image, where the number of pixels in the third image is N×M.
[0310] The value of n is the same as the value of n described above.
[0311] For example, Figure 7 is a schematic diagram of an example of obtaining a first stitching image 514 based on a first image 511 and a second image 512 in Scheme 2 according to an embodiment of the present application. As shown in Figure 7, the number of pixels of the first image 511 is 720 x 240, that is, M = 720, and N = 240. The number of pixels of the second image 512 is 3840 x 720, that is, P = 3840, and Q = 720. S21 may specifically include rotating the first image 90 degrees (for example, rotating the first image 90 degrees clockwise) to obtain a third image 513. In this case, the number of pixels of the third image 513 is 240 x 720.
[0312] S22: Stitch the third image and the second image to obtain a first stitched image.
[0313] In some embodiments, the third image and the second image are stitched horizontally to obtain the first stitched image.
[0314] For example, as shown in Figure 7, the third image 513 and the second image 512 are stitched horizontally to obtain a first stitched image 514. In this case, the number of pixels of the first stitched image is (240 + 3840) x 720.
[0315] From Scheme 2 described above, it can be seen that in Scheme 2, the first pre-processing includes rotating the first image.
[0316] Method 3 Method 3 may include steps S31 to S33. S31 to S33 will be specifically described below.
[0317] S31: Perform pixel padding on the first image to obtain a fifth image.
[0318] In some embodiments, the number of pixels in the first image is M×N, and the number of pixels in the second image is P×Q, so that row pixel padding may be performed on the first image, so that the first image and the second image can be horizontally stitched into a regular image, and the number of pixels in each row of the first image increases from M to Q, and the number of pixels in each column remains unchanged and is still N. Therefore, the number of row pixels of the fifth image obtained through pixel padding is the same as the number of row pixels of the second image. In this case, the number of padded pixels in the first image is (QM)×N, and the number of pixels in the fifth image is Q×N.
[0319] In some embodiments, pixel padding may be performed from a second target position of the first image to obtain the fifth image, for example, the second target position includes at least one of a left position, a right position, or a middle position.
[0320] In some embodiments, the second target location may be preset.
[0321] For example, in the embodiment of the present application, the left position of the image is the position of the first column of the image. For example, the left position of the first image can be understood as the position of the first column of the first image.
[0322] FIG. 8 is a schematic diagram of three examples of performing pixel padding on a first image to obtain a fifth image according to an embodiment of the present application.
[0323] 8(a), pixel padding is performed from the left position (first column position) of the first image 521 to obtain the fifth image 5241. In this case, the number of pixels in the fifth image 5241 is 720×240, and the fifth image 524 includes the first image 521 and a pixel padding region 5231, and the number of pixels in the pixel padding region 5231 is 240×240.
[0324] For example, in the embodiment of the present application, the right position of an image is the position of the last column of the image. For example, the right position of a first image can be understood as the position of the last column of the first image.
[0325] 8(b), pixel padding is performed from the right position (the position of the last column) of the first image 521 to obtain the fifth image 5242. In this case, the number of pixels in the fifth image 5242 is 720 × 240, and the fifth image 5242 includes the first image 521 and the pixel padding region 5232, and the number of pixels in the pixel padding region 5232 is 240 × 240.
[0326] For example, in an embodiment of the present application, the intermediate position of the image is at least one position from the first column (excluding the first column) to the last column (excluding the last column) of the image. For example, the intermediate position of the first image can be understood as at least one position from the first column (excluding the first column) to the last column (excluding the last column) of the first image.
[0327] In some embodiments, at least one intermediate position may be included, and the number of intermediate positions is not limited in this application.
[0328] Optionally, in an embodiment including multiple intermediate positions, step S31 specifically includes: first, performing row pixel segmentation (which may alternatively be understood as the aforementioned horizontal division) on the first image to obtain multiple second sub-images. Second, the multiple second sub-images are spaced apart such that second gap regions are formed between the multiple second sub-images. Finally, pixel padding is performed on the second gap regions to obtain a fifth image.
[0329] For example, the amount of second sub-images is not limited in the embodiments of the present application, as long as the amount of second sub-images is greater than 1. For example, as shown in FIG. 8(c), an example in which there are three second sub-images is used for explanation.
[0330] For example, the size of each of the multiple second sub-images obtained through row pixel segmentation of the first image is not limited in the embodiments of the present application.
[0331] 8(c), pixel padding is performed from two middle positions (any at least one position from the first column to the last column) of the first image 521 to obtain a fifth image 5243. Specifically, first, row pixel segmentation is performed on the first image 521 to obtain three second sub-images, namely, second sub-image 5211, second sub-image 5212, and second sub-image 5213. Second, the second sub-images 5211, 5212, and 5213 are spaced apart such that second gap regions 5233 and 5234 are formed between the second sub-images 5211, 5212, and 5213. Finally, pixel padding is performed on second gap region 5233 and second gap region 5234 to obtain fifth image 5243. In this case, the number of pixels in fifth image 5243 is 720x240, and fifth image 5243 includes second sub-image 5211, second sub-image 5212, second sub-image 5213, second gap region 5233 filled with pixels, and second gap region 5234 filled with pixels.
[0332] For example, the size of the intervals between the second sub-images is not limited in the embodiments of the present application, and the intervals between the second sub-images may be equal.
[0333] S32: Rotate the fifth image to obtain a third image.
[0334] In some embodiments, the fifth image can be rotated by (90° + 180° × n) to obtain the third image, where the number of pixels in the third image is N × Q.
[0335] S33: Stitch the third image and the second image to obtain a first stitched image.
[0336] In some embodiments, the third image and the second image are stitched horizontally to obtain the first stitched image.
[0337] From Scheme 3 described above, it can be seen that in Scheme 3, the first pre-processing includes rotating and padding the first image.
[0338] Method 4 Method 4 may include steps S41 to S43. S41 to S43 will be specifically described below.
[0339] S41: Rotate the first image to obtain a fourth image.
[0340] In some embodiments, to obtain the fourth image, the first image can be rotated by (90°+180°×n).
[0341] For the related description of S41, please refer to the related description of S11, and the details will not be described again in this specification.
[0342] S42: Stitch the fourth image and the second image to obtain a second stitched image.
[0343] In some embodiments, the fourth image and the second image can be stitched horizontally to obtain a second stitched image, where the second stitched image is an irregular image, and the number of pixels (M) in at least one column of the second stitched image is different from the number of pixels (Q) in another column.
[0344] S43: Perform pixel padding on the second stitching image to obtain a first stitching image.
[0345] In some embodiments, performing pixel padding on the second stitching image may be performing column pixel padding on a fourth image in the second stitching image, i.e., performing column pixel padding on columns in the second stitching image whose column pixel number is less than Q (i.e., columns corresponding to the fourth image) so that the number of pixels in each column of the fourth image increases from M to Q, to obtain a normal second stitching image.
[0346] In some embodiments, to obtain a first stitched image, pixel padding can be performed from a first target position of the fourth image in the second stitched image, where the first target position includes an upper end position, a lower position, or a middle position.
[0347] For the description of the upper position, lower position or middle position, please refer to the related description of S12, and the details will not be described again here.
[0348] From Scheme 4 described above, it can be seen that in Scheme 4, the first pre-processing includes rotating and padding the first image.
[0349] For example, S210 may be performed by a first processing unit, which may include the SoC described above.
[0350] In some embodiments, the first image and / or the second image may be an image generated or stored by the first processing unit. In some other embodiments, the first image and / or the second image may alternatively be an image transmitted by another device and received by the first processing unit. For example, the other device may be a camera, an event data recorder, etc. Alternatively, the first image and / or the second image may be an image obtained through processing performed by the first processing unit on an image transmitted by another device and received by the first processing unit. For example, the processing may include pruning, stitching, compression, etc. This is not limited in the present application.
[0351] In some embodiments, the first image and / or the second image may be an image formed by stitching multiple images, which is not a limitation in this application.
[0352] As shown in FIG. 4, the method 200 further includes S220.
[0353] S220: Send the first stitching image.
[0354] For example, S220 may be performed by a sending unit.
[0355] In some embodiments, method 200 is performed by a first image processing device. Specifically, the first image processing device includes a first processing unit and a sending unit. The first processing unit of the first image processing device performs S210, and the sending unit of the first image processing device performs S220.
[0356] For example, in an embodiment of the present application, the first image processing device includes, but is not limited to, a domain controller or another device having image processing capabilities, such as an MDC, CDC, or gateway having image processing capabilities.
[0357] In some embodiments, the first image processing device further includes a first interface, and the sending unit of the second image processing device sends the first stitched image to another device through the first interface.
[0358] For example, the first interface includes, but is not limited to, MIPI, oLDI, or DP.
[0359] From the first stitched image acquired based on the aforementioned method 200 (for example, the first stitched image 504 shown in FIG. 5 and the first stitched image 514 shown in FIG. 7), according to the image processing method provided in the embodiment of the present application, it can be seen that the acquired first stitched image includes 240×240 padding pixels (for example, the first stitched image 504 shown in FIG. 5) or 0×0 padding pixels (for example, the first stitched image 514 shown in FIG. 7), which is less than the padding pixels (480×480) included in the stitched image (as shown in FIG. 3) acquired based on the image processing method provided in the existing solution. In this way, in the process of transmitting the first stitched image, the padding pixels occupy a small amount of transmission bandwidth. This improves the transmission efficiency of the first stitched image. In addition, compared with the existing solution, the complexity of processing the second image is not further increased in the method 200.
[0360] In some embodiments, S210 may be further implemented in another manner. Any process in which the first stitching image acquired in another manner has fewer padding pixels than the stitching image acquired in the existing solution can be applied to another manner according to the embodiment of the present application.
[0361] For example, in one possible implementation, another scheme may include connecting the row pixels in each row of the first image from beginning to end, i.e., the value of i is 1 to N, where i is a positive integer. The pixel in the (i+1)th row of the first image is horizontally stitched to the last pixel in the i-th row of the first image, and the new row pixel number is re-cut using the row pixel number of the second image as the granularity to obtain the seventh image. If the seventh image has fewer rows than the second image, row pixel padding may be performed on the rows in the seventh image whose row pixel number is less than the row pixel number of the second image, so that the number of pixels in each row of the seventh image is the same as the row pixel number of the second image. In addition, the second image and the first image are vertically stitched to obtain the first stitched image.
[0362] For example, if the number of pixels in the first image is 480 x 240, the number of pixels in the second image is 1080 x 720. The value of i is 1 to 240. After the pixels in the (i+1)th row of the first image are horizontally stitched to the last pixel in the i-th row of the first image, the row pixels in each row of the first image are connected from beginning to end to obtain the seventh image, and the new row pixel number is re-cut by using 1080 as the granularity. In this case, the number of row pixels in the last row of the seventh image is 720, which is less than 1080. Therefore, pixel padding may be performed on the last row of the seventh image so that the number of row pixels in the last row of the seventh image is 1080. In this case, the number of pixels in each row of the seventh image is 1080. In this case, the number of column pixels in the seventh image is 107. Then, the second image and the seventh image are vertically stitched to obtain the first stitched image. In this case, the number of pixels of the first stitching image is 1080×827, and the number of padding pixels included in the first stitching image is (1080−720)=360.
[0363] In this case, when the second image in the first stitching image is above the first image, the device receiving the first stitching image can buffer pixels of the second image, so that the device receiving the first stitching image can still stably output the second image within the time period when the device transmitting the first image.When the second image in the first stitching image is below the first image, the device receiving the first stitching image can buffer pixels of the first image, so that the device receiving the first stitching image can still stably output the first image within the time period when the device transmitting the second image.
[0364] For example, in another possible implementation, another scheme may include connecting the column pixels in each column of the first image from beginning to end, i.e., j ranges from 1 to M and is a positive integer. The pixel in the (j+1)th column of the first image is vertically stitched to the last pixel in the jth column of the first image, and the new column pixel number is re-cut by using the column pixel number of the second image as the granularity to obtain the eighth image. If the eighth image has fewer columns than the column pixel number of the second image, pixel padding may be performed on the columns in the eighth image whose column pixel number is less than the column pixel number of the second image, so that the number of pixels in each column of the eighth image is the column pixel number of the second image. In addition, the second image and the eighth image are horizontally stitched to obtain the first stitched image.
[0365] For example, if the number of pixels in the first image is 480 x 240, the number of pixels in the second image is 1080 x 720. The value of j is 1 to 480. After the pixel in the (j+1)th column of the first image is vertically stitched to the last pixel in the jth column of the first image, the column pixels in each column of the first image are connected from beginning to end, and a new number of column pixels is re-cut by using 720 as the granularity to obtain an eighth image. In this case, the eighth image does not have a column whose number of column pixels is less than 720, and the number of column pixels in the eighth image is 720, and the number of row pixels in the eighth image is 160. Then, the second image and the eighth image are stitched horizontally to obtain a first stitched image. In this case, the number of pixels in the first stitched image is 1240 x 720, and the first stitched image does not include padding pixels.
[0366] For example, in yet another possible implementation, another method may include splitting the first image and the second image, then recombining and stitching to obtain a first stitched image, in which case the obtained first stitched image may or may not include padding pixels.
[0367] It should be understood that different division methods, recombination methods, and stitching methods correspond to different processing complexities. When factors related to processing complexity are not considered, the first image and the second image can be divided, and then recombined and stitched in different division, recombination, and stitching methods to obtain the first stitched image.
[0368] For example, the aforementioned first image is cut to obtain multiple sub-images, and as a result, after the multiple sub-images are stitched together, the multiple sub-images can be matched to the number of column pixels or row pixels of the second image to obtain a first stitched image, and then the image obtained through segmenting the first image and stitching the second image.
[0369] For example, if the number of column pixels of the second image is L times the number of column pixels of the first image (i.e., Q=L×N), row pixel segmentation may be performed on the first image first to obtain L sub-images. Secondly, to obtain a sixth image, the L sub-images are vertically stitched. In this case, the number of row pixels of the sixth image is 1 / L of the number of row pixels of the first image, and the number of column pixels of the sixth image is the number of column pixels of the second image. Finally, the sixth image and the second image are stitched horizontally to obtain a first stitched image. In this case, the number of row pixels of the first stitched image is the sum of the number of row pixels of the second image and the number of row pixels of the sixth image, and the number of column pixels of the first stitched image is the number of column pixels of the second image or the sixth image. Because the number of column pixels of the second image is the same as the number of column pixels of the sixth image, the obtained first stitched image does not have padding pixels. Compared with the padding pixels (480x480) included in the stitching image (as shown in FIG. 3) obtained based on the image processing method provided in the existing solution, the padding pixels included in the first stitching image are much less. In this way, in the process of transmitting the first stitching image, the padding pixels do not occupy the transmission bandwidth. This improves the transmission efficiency of the first stitching image.
[0370] For example, Fig. 9 is a schematic diagram of an example of obtaining a first stitching image 553 based on a first image 551 and a second image 552 according to an embodiment of the present application. As shown in Fig. 9, the number of pixels of the first image 551 is 480x240, that is, M=480, and N=240. The number of pixels of the second image 552 is 3840x720, that is, P=3840, and Q=720. The process of obtaining the first stitching image 553 based on the first image 551 and the second image 552 includes: S51 to S53. In S51, since the number of column pixels of the second image 552, 720, is three times the number of column pixels of the first image 551, 240 (i.e., L=3), row pixel segmentation is performed on the first image 551 to obtain three sub-images, for example, a third sub-image 5511, a third sub-image 5512, and a third sub-image 5513. In this case, the number of pixels of the third sub-image 5511, the third sub-image 5512, and the third sub-image 5513 are all 160×240. In S52, the third sub-image 5511, the second image 552, and the third sub-image 5512 are vertically stitched to obtain a sixth image 554. In this case, the number of pixels of the sixth image 554 is 160×720. Finally, the sixth image 554 and the second image 552 are stitched horizontally to obtain a first stitched image 553. In this case, the number of pixels of the first stitched image is (3840+160)×720.
[0371] The above-mentioned embodiment is described by using an example in which a first stitched image is obtained based on a second image and an image obtained through a first pre-processing of the first image. It should be understood that in some embodiments, the first image and the image obtained through a first pre-processing of the second image can be further vertically stitched to obtain a first stitched image. In this case, if the number of pixels of the first image is still M×N and the number of pixels of the second image is still P×Q, the number of pixels of the first stitched image is Q×(P+N). For a description of the specific process, please refer to the relevant description in the above-mentioned method 200. The details will not be described again in this specification.
[0372] In this case, when the second image in the first stitching image is above the first image, the device receiving the first stitching image can buffer pixels of the second image, so that the device receiving the first stitching image can still stably output the second image within the time period when the device transmitting the first image.When the second image in the first stitching image is below the first image, the device receiving the first stitching image can buffer pixels of the first image, so that the device receiving the first stitching image can still stably output the first image within the time period when the device transmitting the second image.
[0373] Hereinafter, another image processing method 200' provided in the embodiments of the present application will be described. The method is applicable to embodiments where the column pixel number Q of the second image is less than the row pixel number M of the first image. In method 200, a fourth stitching image or a fifth stitching image can be obtained based on the first image and the second image. The row pixel number of the first image is M, the column pixel number is N, M > N, and N < Q. The row pixel number of the second image is P, the column pixel number is Q, and Q < M. The row pixel number of the fourth stitching image or the fifth stitching image is P + K×N, and the column pixel number is Q. The fourth stitching image or the fifth stitching image includes the second image and an image obtained through a third preprocessing of the first image. The third preprocessing includes rotation and segmentation, or the third preprocessing includes rotation, segmentation, and padding.
[0374] Hereinafter, method 200' will be described by using S211' to S215'' as an example. It should be understood that S211' to S215'' are only one possible implementation form of method 200', and there may be other implementation forms of method 200'. For example, before the following S214''', the first image can be first horizontally segmented, then rotated, and then horizontally stitched to obtain a ninth image. The specific implementation form of method 200' is not limited to the embodiments of the present application.
[0375] Method 200' includes S211' to S215'. Hereinafter, S211' to S215' will be specifically described.
[0376] S211': Rotate the first image to obtain a fourth image. The row pixel number of the first image is M, the column pixel number is N, M > N and N < Q.
[0377] In some embodiments, to obtain the fourth image, the first image is rotated by (90° + 180°×n). In this case, the pixel number of the fourth image is N×M. n is an integer.
[0378] S212’: To obtain K sub-images, segment the fourth image vertically. K > 1, and K satisfies (K - 1)×Q < M ≤ K×Q. The number of row pixels of all K sub-images is N, and the number of column pixels of all K sub-images is M / K.
[0379] S213’: To obtain the ninth image, horizontally stitch the K sub-images. The number of row pixels of the ninth image is K×N, and the number of column pixels is M / K.
[0380] S214’: To obtain the third stitched image, horizontally stitch the ninth image and the second image. The number of row pixels of the second image is P, the number of column pixels of the second image is Q, and Q < M.
[0381] In this case, if M < K×Q, the third stitched image is an irregular image. The number of pixels in the P columns of the third stitched image is Q, and the number of pixels in the K×N columns is M / K. In other words, the number of pixels in the M / K columns of the third stitched image is different from the number of pixels in the other P columns. In this case, step S215’ needs to be further implemented. If M = K×Q, the third stitched image is a regular image, and the operation in S215’ does not need to be implemented. The number of row pixels of the third stitched image is P + K×N, and the number of column pixels is Q (or M / K).
[0382] S215’: To obtain the fourth stitched image, perform row pixel padding on the third stitched image. The number of row pixels of the fourth stitched image is P + K×N, and the number of column pixels is Q (in this case, Q > M / K).
[0383] According to S215, for the rows in the third stitching image where the number of row pixels is less than P + K×N, row pixel padding is performed. As a result, the number of row pixels in the rows where the number of row pixels is less than P + K×N in the third stitching image increases from P to P + K×N, thereby obtaining a regular fourth stitching image. In this case, the number of padding pixels is N×(K×Q - M).
[0384] In some embodiments, S212’~S215’ may alternatively be replaced with S216’~S219’.
[0385] S216’: To obtain the tenth image, column pixel padding is performed on the fourth image. In this case, the number of row pixels of the tenth image is N, and the number of column pixels is K×Q. K > 1, and K satisfies (K - 1)×Q < M ≤ K×Q.
[0386] When M = K×Q, S216’ does not need to be performed, and S217’~S219’ are directly performed. When M < K×Q, 216’ needs to be performed.
[0387] In this case, the number of padding pixels is N×(K×Q - M).
[0388] S217’: To obtain K sub-images, the tenth image is vertically segmented. The number of row pixels of all K sub-images is N, and the number of column pixels of all K sub-images is Q.
[0389] S218’: To obtain the eleventh image, the K sub-images are horizontally stitched. The number of row pixels of the eleventh image is K×N, and the number of column pixels is Q.
[0390] S219’: To obtain the fifth stitching image, the second image and the eleventh image are horizontally stitched. The number of row pixels of the fifth stitching image is P + K×N, and the number of column pixels is Q.
[0391] In some embodiments, the method 200' may be performed by the first processing unit mentioned above.
[0392] In some embodiments, the method 200' further includes transmitting the fourth stitched image or the fifth stitched image.
[0393] For example, the fourth stitching image or the fifth stitching image may be transmitted by the transmitting unit.
[0394] In some embodiments, the method 200' is performed by a first image processing device. Specifically, the first image processing device includes a first processing unit and a sending unit. The first processing unit in the first image processing device performs the method 200', and the sending unit in the first image processing device sends the fourth stitched image or the fifth stitched image.
[0395] For example, in an embodiment of the present application, the first image processing device includes, but is not limited to, a domain controller, such as an MDC, a CDC, and the like.
[0396] In some embodiments, the first image processing device further includes a first interface, and the sending unit of the second image processing device sends the fourth stitched image or the fifth stitched image to another device via the first interface.
[0397] For example, the first interface includes, but is not limited to, MIPI, oLDI, or DP.
[0398] The number of padding pixels included in the fourth stitching image or the fifth stitching image obtained according to method 200’ is N×(K×Q - M). However, according to existing solutions, the first image and the second image are stitched, and the number of padding pixels included in the obtained stitching image is M×(Q - N). Since N < Q and M ≤ K×Q, the number of padding pixels included in the obtained fourth stitching image or the obtained fifth stitching image is less than the number of padding pixels included in the stitching image obtained in the existing solution. Therefore, in the process of transmitting the fourth stitching image or the fifth stitching image, since the padding pixels occupy a small amount of transmission bandwidth, the transmission efficiency of the fourth stitching image or the fifth stitching image is improved. In addition, in method 200’, the second image is not processed in the process of obtaining the fourth stitching image or the fifth stitching image. In this way, in one aspect, compared with the existing solution, the complexity of processing the second image is not further increased. In another aspect, each row of the fourth stitching image or the fifth stitching image includes a complete row of pixels of the second image. A device receiving the fourth stitching image or the fifth stitching image does not need to buffer the pixels of the second image, and can extract the rows of pixels of the second image only by performing simple segmentation on the fourth stitching image or the fifth stitching image. As a result, the second image can be transferred quickly in real time.
[0399] Embodiments of the present application further provide another image processing method 300. In image processing method 300, a first process may be performed on the stitching image to obtain a first image and a second image.
[0400] For example, FIG. 10 is a schematic flowchart of an example of image processing method 300 according to an embodiment of the present application.
[0401] As shown in FIG. 10, method 300 includes the following steps.
[0402] S310: Obtain a first stitching image. The number of pixels of the first stitching image is (N+P)×Q. The first stitching image includes a second image and a third image. The number of pixels of the second image is P×Q, where Q≧M.
[0403] In some embodiments, S310 may be performed by an acquisition unit.
[0404] Optionally, in some embodiments, S310 may be obtaining a first stitching image from a sending unit of the first image processing device in the aforementioned method 200.
[0405] S320: A first process is performed on the first stitched image to obtain a first image and a second image. The number of pixels of the first image is M×N, where M>N. The first process includes segmenting the first stitched image to obtain a second image and a third image. The first process further includes rotating the third image, or the first process further includes rotating and unpadding the third image.
[0406] In the embodiment of the present application, the method for implementing S320 is not limited. Below, S320 will be described in detail by using Method 1' to Method 3' as an example. Method 1' is applicable when the number of pixels of the first image and the number of pixels of the second image satisfy Q=M. Method 2' and Method 3' are applicable when the number of pixels of the first image and the number of pixels of the second image satisfy Q>M.
[0407] Method 1' Method 1' may include S11' and S12'. S11' and S12' will be specifically described below.
[0408] S11': Segment the first stitched image to obtain a second image and a third image.
[0409] In some embodiments, if the first stitching image is obtained through horizontal stitching, in S11′, the first stitching image is segmented horizontally to obtain a second image and a third image.
[0410] The first stitching image is horizontally segmented, so that the image data can then be output more smoothly on the first port and the second port. In other words, the corresponding image data is output to both ports during the same period.
[0411] In some embodiments, if the first stitching image is obtained through vertical stitching, in S11′, the first stitching image is vertically segmented to obtain a second image and a third image.
[0412] Since the number of pixels of the first stitched image is (N+P)×Q and the number of pixels of the second image is P×Q, it can be seen from S11′ that the number of pixels of the third image is N×Q.
[0413] 11 is a schematic diagram of an example of acquiring a first image and a second image in Scheme 1' according to an embodiment of the present application. For example, as shown in FIG. 11, a first stitching image 514 includes a second image 512 and a third image 513, where the number of pixels of the second image 512 is 3840×720, and the number of pixels of the first stitching image is (3840+240)×720. According to S11, the second image 512 and the third image 513 can be acquired. The number of pixels of the third image 513 is 240×720.
[0414] S12': Rotate the third image to obtain the first image.
[0415] In some embodiments, to obtain the first image, the third image can be rotated by (-90°-180°×n).
[0416] The value of n is the same as the value of n described above.
[0417] Since the number of pixels in the first image is M×N, it can be seen from S12′ that the number of pixels in the third image is N×M. However, it can be seen from S11′ that the number of pixels in the third image is still N×Q. Therefore, in this case, M=Q. Therefore, Scheme 1 is applicable to a solution in which the number of pixels in the first image and the number of pixels in the second image satisfy M=Q.
[0418] 11, according to S12', the third image 513 is rotated (rotated 90° counterclockwise) to obtain the first image 511. In this way, a solution is implemented to obtain the first image 511 and the second image 512 based on the first stitching image 514. It can be seen that the number of row pixels of the first image is equal to the number of column pixels of the second image.
[0419] Method 2' Method 2' may include steps S21' to S23'. S21' to S23' will be described in detail below.
[0420] S21': Segment the first stitched image to obtain a second image and a third image.
[0421] For the relevant description of S21', please refer to the above relevant description of S11', and the details will not be described again in this specification.
[0422] 12 is a schematic diagram of an example of acquiring a first image and a second image in Scheme 2' according to an embodiment of the present application. For example, as shown in FIG. 12, a first stitching image 525 includes a second image 522 and a third image 524, where the number of pixels of the second image 522 is 3840×720, the number of pixels of the third image 524 is 240×720, and the number of pixels of the first stitching image is (3840+240)×720. According to S21', the second image 522 and the third image 524 can be acquired.
[0423] S22': The third image is rotated to obtain a fifth image.
[0424] In some embodiments, the third image can be rotated by (-90°-180°×n) to obtain the fifth image.
[0425] The value of n is the same as the value of n described above.
[0426] From S11', it can be seen that the number of pixels in the third image is N x Q. Therefore, the number of pixels in the fifth image is Q x N.
[0427] For example, as shown in Figure 12, according to S22', the third image 524 is rotated (e.g., rotated 90° counterclockwise) to obtain the fifth image 523. The number of pixels of the fifth image 523 is 720 x 240.
[0428] S23': Unpad the fifth image to get the first image.
[0429] In some embodiments, unpadding the fifth image may be performing row unpadding on the fifth image, such that the number of pixels in each row of the fifth image is reduced from Q to M, and the number of pixels in each column remains unchanged and is still N. In this case, the number of unpadded pixels is (QM)×N.
[0430] In some embodiments, to obtain the first image, unpadding can be performed from a second target position of the fifth image, for example, the second target position includes at least one of a left position, a right position, or a middle position.
[0431] For some of the second target positions that are not described, please refer to the relevant description in S31, and the details will not be described again here.
[0432] FIG. 13 is a schematic diagram of three examples of unpadding a fifth image to obtain a first image according to an embodiment of the present application.
[0433] 13(a), to obtain the first image 521, unpadding is performed from the left position (the position of the first column) of the fifth image 5241. In this case, the number of pixels of the fifth image 5241 is 720 × 240, and the fifth image 524 includes the first image 521 and the pixel padding area 5231.
[0434] 13(b), to obtain the first image 521, unpadding is performed from the right position (the position of the last column) of the fifth image 5242. In this case, the number of pixels of the fifth image 5242 is 720 × 240, and the fifth image 5242 includes the first image 521 and the pixel padding area 5232.
[0435] In some embodiments, at least one intermediate position may be included, and the number of intermediate positions is not limited in this application.
[0436] Optionally, in an embodiment with multiple intermediate positions, S23' specifically includes: first, performing de-padding from at least one intermediate position of the fifth image to obtain multiple second sub-images, and then horizontally stitching the multiple second sub-images together to form the first image.
[0437] For example, the amount of second sub-images is not limited in the embodiments of the present application, as long as the amount of second sub-images is greater than 1. For example, as shown in FIG. 13(c), an example in which there are three second sub-images is used for explanation.
[0438] 13(c), first, unpadding is performed from two intermediate positions (positions corresponding to second gap region 5233 and second gap region 5234, respectively) of fifth image 5243 to obtain three second sub-images, namely, second sub-image 5211, second sub-image 5212, and second sub-image 5213. Second, second sub-image 5211, second sub-image 5212, and second sub-image 5213 are stitched horizontally, so that second sub-image 5211, second sub-image 5212, and second sub-image 5213 form first image 521. In this case, the number of pixels in the fifth image 5243 is 720 x 240, and the fifth image 5243 includes a second sub-image 5211, a second sub-image 5212, a second sub-image 5213, a second gap area 5233 filled with pixels, and a second gap area 5234 filled with pixels.
[0439] For example, the size of the intervals between the second sub-images is not limited in the embodiments of the present application, and the intervals between the second sub-images may be equal.
[0440] 12, according to S23′, unpadding is performed from the right position of the fifth image 523 to obtain the first image 521. The number of pixels of the first image 523 is 480×240.
[0441] It should be understood that in FIG. 12, S23′ is explained by using an example in which unpadding is performed from the right position of the fifth image 523 to obtain the first image 521.
[0442] Method 3' Method 3' may include steps S31' to S33'. S31' to S33' will be specifically described below.
[0443] S31': Segment the first stitched image to obtain a second image and a third image.
[0444] For the relevant description of S31', please refer to the above relevant description of S11', and the details will not be described again in this specification.
[0445] S32': Unpad the third image to obtain the fourth image.
[0446] In some embodiments, unpadding the third image may be performing column unpadding on the third image, such that the number of pixels in each column of the third image is reduced from Q to M, while the number of pixels in each row remains unchanged and is still N. In this case, the number of unpadded pixels is N×(QM), and the number of pixels in the fourth image is N×M.
[0447] In some embodiments, unpadding can be performed from a first target position of the third image to obtain a fourth image, for example, the first target position includes at least one of a top position, a bottom position, or a middle position.
[0448] For some of the first target positions that are not described, please refer to the relevant description in S12, and the details will not be described again here.
[0449] FIG. 14 is a schematic diagram of three examples of unpadding a third image to obtain a fourth image according to an embodiment of the present application.
[0450] 14(a), for example, unpadding is performed before the bottom position (the position of the last row) of the third image 503 to obtain the fourth image 5031. In this case, the number of pixels of the third image 503 is 240×720, the third image 503 includes the fourth image 5031 and a pixel padding area 5032, and the number of pixels of the fourth image 5031 is 240×480.
[0451] 14(b), for example, padding is removed after the start position (first row position) of the third image 503 to obtain the fourth image 5031. In this case, the number of pixels of the third image 503 is 240 × 720, the third image 503 includes the fourth image 5031 and a pixel padding area 5032, and the number of pixels of the fourth image 5031 is 240 × 480.
[0452] In some embodiments, at least one intermediate position may be included, and the number of intermediate positions is not limited in this application.
[0453] Optionally, in an embodiment with multiple intermediate positions, S32' specifically includes: first performing de-padding from at least one intermediate position of the fifth image to obtain multiple first sub-images, and then vertically stitching the multiple first sub-images together to form a fourth image.
[0454] For example, the amount of first sub-images is not limited in the embodiments of the present application, as long as the amount of first sub-images is greater than 1. For example, as shown in FIG. 14(c), an example in which there are three first sub-images is used for explanation.
[0455] 14(c), first, unpadding is performed from two intermediate positions (positions corresponding to the first gap region 50321 and the first gap region 50322, respectively) of the fifth image 503 to obtain three first sub-images, namely, the first sub-image 50311, the first sub-image 50312, and the first sub-image 50313. Second, the first sub-image 50311, the first sub-image 50312, and the first sub-image 50313 are vertically stitched together, so that the first sub-image 50311, the first sub-image 50312, and the first sub-image 50313 form the fourth image 5031. In this case, the number of pixels in the fourth image 5031 is 240x480, and the fifth image 503 includes a first sub-image 50311, a first sub-image 50312, a first sub-image 50313, a first gap area filled with pixels 50321, and a first gap area filled with pixels 50322.
[0456] For example, the size of the intervals between the multiple first sub-images is not limited in the embodiments of the present application, and for example, the intervals between the first sub-images may be equal.
[0457] S33': Rotate the fourth image to obtain the first image.
[0458] In some embodiments, to obtain the first image, the fourth image is rotated by (-90°-180°×n).
[0459] The value of n is the same as the value of n described above.
[0460] From S32', it can be seen that the number of pixels in the fourth image is N x M. Therefore, the number of pixels in the first image is M x N.
[0461] The above-mentioned embodiment is described by using an example in which the first image and the second image are obtained based on horizontal segmentation and rotation of the third image or rotation of the third image and unpadding. It should be understood that in some embodiments, the first image and the second image can also be obtained based on vertical segmentation. In this case, if the number of pixels of the first stitching image is Q×(P+N), the number of pixels of the first image is still M×N, and the number of pixels of the second image is still P×Q. For a description of the specific process, please refer to the related description in the above-mentioned method 300. The details will not be described again in this specification.
[0462] In some embodiments, S320 may alternatively be implemented in another manner.
[0463] For example, in a possible implementation, another method may include: if the first stitched image includes padding pixels, first, the first stitched image is unpadded; second, the first stitched image obtained through unpadding is vertically segmented to obtain the second image and the seventh image; finally, to obtain the first image, the row pixel number of the first image is used as the granularity to re-cut a new row pixel number for the seventh image. If the first stitched image does not include padding pixels, the first stitched image is segmented to obtain the second image and the seventh image; and to obtain the first image, the row pixel number of the first image is used as the granularity to re-cut a new row pixel number for the seventh image.
[0464] For example, if the pixel number of the first stitching image is 1080x827, the first stitching image includes a second image, a seventh image, and padding pixels. The pixel number of the second image is 1080x720, and the padding pixels are in the last row of the seventh image in the first stitching image, and the padding pixel number is 360. First, the padding pixels of the first stitching image are unpadding-processed, so that the padding pixel number in the last row of the seventh image is reduced from 1080 to 720. Second, the first stitching image obtained through unpadding is vertically segmented to obtain the second image and the seventh image. Finally, by using the row pixel number (480) of the first image as the granularity, a new row pixel number is re-cut for the seventh image to obtain the first image. In this case, the pixel number of the obtained first image is 480x240.
[0465] In some embodiments, when a second image in the first stitching image is above the first image, pixels of the second image may be buffered, so that the second image can still be stably output within the time period for transmitting the first image.When a second image in the first stitching image is below the first image, pixels of the first image may be buffered, so that the first image can still be stably output within the time period for transmitting the second image.
[0466] For example, in another possible implementation, another method may include: if the first stitched image includes padding pixels, first, the first stitched image is unpadded; second, the first stitched image obtained through unpadding is segmented to obtain the second image and the eighth image; and finally, to obtain the first image, the number of column pixels of the first image is used as a granularity to re-cut a new number of column pixels for the eighth image. If the first stitched image does not include padding pixels, the first stitched image is segmented to obtain the second image and the eighth image; and finally, to obtain the first image, the number of row pixels of the first image is used as a granularity to re-cut a new number of column pixels for the eighth image.
[0467] For example, if the pixel number of the first stitching image is 1240 x 720, the first stitching image includes a second image and an eighth image. The pixel number of the second image is 1080 x 720, and the column pixel number of the eighth image is 160 x 720. First, the first stitching image is horizontally segmented to obtain the second image and the eighth image. Finally, to obtain the first image, a new row pixel number is re-cut for the eighth image by using the column pixel number (240) of the first image as the granularity. In this case, the pixel number of the obtained first image is 480 x 240.
[0468] For example, in yet another possible implementation, another method may include splitting the first stitching image to separately obtain the first image and the second image, and then recombining and stitching them together. In this case, the first stitching image may or may not include padding pixels.
[0469] It should be understood that different division schemes, recombination methods, and stitching methods correspond to different processing complexities. When factors related to processing complexity are not considered, to obtain a first image and a second image, the first stitching image can be divided, and then recombined and stitched using different division schemes, recombination and stitching methods.
[0470] For example, the aforementioned first stitched image is segmented horizontally to obtain the second image and the sixth image, the sixth image is segmented vertically to obtain multiple sub-images, and the multiple sub-images are stitched horizontally to obtain the first image.
[0471] Neither the first nor the second image acquired in a different manner includes padding pixels, and the pixel clock (referring to the number of image pixels transmitted per second) corresponding to the first and second images is small, thereby reducing the interface requirements on the device receiving the first and second images.
[0472] In some embodiments, S320 in method 300 may be performed by a second processing unit. For example, the second processing unit may include, but is not limited to, an FPGA unit and / or a Ser.
[0473] In some embodiments, the method 300 further includes S330 and S340.
[0474] S330: Transmit the second image via the first port.
[0475] S340: Transmit the first image via the second port.
[0476] The first image and the second image can be transmitted to different devices via the first port and the second port, so that the different devices use the received images.
[0477] In some embodiments, S330 in the method 300 may be performed by the first transmitting unit, and S340 in the method 300 may be performed by the second transmitting unit.
[0478] Optionally, in embodiments in which the second processing unit includes an FPGA unit and Ser, Ser may perform the segmentation step in method 300. The FPGA unit may perform steps other than the segmentation step in method 300. For example, the FPGA unit may perform unpadding and / or rotation steps in method 300.
[0479] In some embodiments, the method 200 and the method 300 may be implemented separately. In some other embodiments, the method 200 and the method 300 may be implemented in combination. This is not limited to the embodiments of the present application.
[0480] In some embodiments, the first image processing device may further include an acquisition unit, a second processing unit, a first transmission unit, and / or a second transmission unit, wherein the acquisition unit in the first image processing device performs S310, the second processing unit in the first image processing device performs S320, the first transmission unit in the first image processing device performs S330, and the second transmission unit in the first image processing device performs S340.
[0481] In some embodiments, S320 may alternatively be replaced with S320''. In the following, for the purpose of explanation, an example is used in which the method for implementing S320'' is Method 1'', Method 2'', or Method 3''.
[0482] Scheme 1'' includes S11'. For a related description of S11', please refer to the above description. The details will not be described again herein. Furthermore, in some embodiments, when method 300 further includes S330 and S340, S340 may alternatively be replaced with S340'.
[0483] S340': Transmit the third image via the second port.
[0484] The third image and the second image can be transmitted to different devices via the first port and the second port, so that the different devices process or use the received images.
[0485] Scheme 2" includes S21' and S22'. For related descriptions of S21' and S22', please refer to the above description. The details will not be described again herein. Furthermore, in some embodiments, when method 300 further includes S330 and S340, S340 may alternatively be replaced with S340".
[0486] S340): Send the fifth image via the second port.
[0487] The fifth image and the second image can be transmitted to different devices via the first port and the second port, so that the different devices process or use the received images.
[0488] Method 3" includes S31' and S32'. For related descriptions of S31' and S32', please refer to the above description. The details will not be described again herein. Furthermore, in some embodiments, when method 300 further includes S330 and S340, S340 may alternatively be replaced with S340'".
[0489] S340): Send the fourth image through the second port.
[0490] The fourth image and the second image can be transmitted to different devices via the first port and the second port, so that the different devices process or use the received images.
[0491] The embodiment of the present application further provides another image processing method 400. In the image processing method 400, a second processing may be performed on the first stitched image to obtain a first image and a second image.
[0492] For example, FIG. 15 is a schematic flow chart of an example of an image processing method 400 according to an embodiment of the present application.
[0493] As shown in FIG. 15, the method 400 includes the following steps.
[0494] S410: Obtain a first stitching image. The number of pixels of the first stitching image is (N+P)×Q. The first stitching image includes a second image and a third image. The number of pixels of the second image is P×Q, where Q≧M.
[0495] In some embodiments, S410 may be performed by an acquisition unit.
[0496] Optionally, in some embodiments, S410 may be acquiring a first stitching image from an acquisition unit of the aforementioned first image processing device.
[0497] S420: Perform a second process on the first stitched image to obtain a first image and a second image. The number of pixels of the first image is M×N, where M>N. The second process includes unpadding the first stitched image to obtain a second stitched image. The second process further includes rotating and segmenting the second stitched image to obtain the first image and the second image.
[0498] In some embodiments, S420 specifically includes S421 to S423, which will be described in detail below.
[0499] S421: Unpad the first stitched image to obtain a second stitched image.
[0500] In some embodiments, unpadding the first stitching image can be performed on the third image in the first stitching image by column unpadding, so that the number of pixels in each column of the third image is reduced from Q to M, and the number of pixels in each row remains unchanged and is still N. In this way, the first stitching image is converted into an irregular image (i.e., the second stitching image).In this case, the number of unpadding pixels is (QM)×N.
[0501] In some embodiments, to obtain a second stitched image, unpadding may be performed from a first target position of the third image in the first stitched image. For example, the first target position includes at least one of an upper position, a lower position, or a middle position.
[0502] For the related description of the first target position, please refer to the related description in S12, and the details will not be described again here.
[0503] For the relevant description of performing the unpadding from the first target position of the third image in the first stitching image, please refer to the relevant description in Figure 14. The details will not be described again in this specification.
[0504] S422: Segment the second stitched image to obtain a second image and a fourth image, where the number of pixels of the fourth image is N×M.
[0505] In some embodiments, the second stitching image is horizontally segmented to obtain the second image and the fourth image.
[0506] S423: Rotate the fourth image to obtain the first image.
[0507] In some embodiments, to obtain the first image, the fourth image is rotated by (-90°-180°×n).
[0508] The value of n is the same as the value of n described above.
[0509] 12, the fourth image 543 is rotated (e.g., rotated 90° counterclockwise) to obtain a first image 541 according to 423. The number of pixels of the first image 541 is 480×240.
[0510] In some embodiments, S420 in method 400 may be performed by a second processing unit. For example, the second processing unit may include, but is not limited to, an FPGA unit and / or a Ser.
[0511] In some embodiments, the method 400 further includes S430 and S440.
[0512] S430: Transmit the second image via the first port.
[0513] S440: Transmit the first image via the second port.
[0514] The first image and the second image can be transmitted to different devices via the first port and the second port, so that the different devices use the received images.
[0515] In some embodiments, S430 in method 400 may be performed by a first transmitting unit, and S440 in method 400 may be performed by a second transmitting unit.
[0516] Optionally, in embodiments in which the second processing unit includes an FPGA unit and Ser, Ser may perform the segmentation step in method 400. The FPGA unit may perform steps other than the segmentation step in method 400. For example, the FPGA unit may perform unpadding and / or rotation steps in method 400.
[0517] In some embodiments, the method 200 and the method 400 may be implemented separately. In some other embodiments, the method 200 and the method 400 may be implemented in combination. This is not limited to the embodiments of the present application.
[0518] In some embodiments, the first image processing device may further include an acquisition unit, a second processing unit, a first transmission unit, and / or a second transmission unit, wherein the acquisition unit in the first image processing device performs S410, the second processing unit in the first image processing device performs S420, the first transmission unit in the first image processing device performs S430, and the second transmission unit in the first image processing device performs S440.
[0519] According to the aforementioned method 300 or 400, the second image does not need to be processed in the process of processing the first stitched image. In this way, the complexity of processing the second image is not further increased. In addition, each row of the first stitched image includes a complete row of pixels of the second image. The pixels of the second image do not need to be buffered, and the rows of pixels of the second image can be extracted by simply performing segmentation on the first stitched image, so that the second image can be quickly transferred in real time. In addition, the acquired first image and the acquired second image do not include padding pixels. In this way, in one aspect, in the subsequent process of transmitting the first image and the second image, the padding pixels do not occupy the transmission bandwidth. This improves the transmission efficiency of the first image and the second image. In another aspect, neither the first image nor the second image includes padding pixels, and the pixel clocks (referring to the number of image pixels transmitted per second) corresponding to the first image and the second image are small, which may result in reduced interface requirements on the device receiving the first image and the second image.
[0520] In some embodiments, if the first image and / or the second image are images formed by stitching multiple images, method 300 or method 400 further includes segmenting the first image and / or the second image into multiple images. The method may further include transmitting the different segmented images through different ports.
[0521] Embodiments of the present application further provide another image processing method 200''. The method is applicable to embodiments where the column pixel number Q of the second image is less than the row pixel number M of the first image. In method 200'', the first image and the second image can be obtained based on a fourth stitching image. The row pixel number of the first image is M, the column pixel number is N, M > N, and N < Q. The row pixel number of the second image is P, the column pixel number is Q, and Q < M. The row pixel number of the fourth stitching image is P + K × N, and the column pixel number is Q. The fourth stitching image includes the second image and an image obtained through a third preprocessing of the first image. The third preprocessing includes rotation and segmentation, or the third preprocessing includes rotation, segmentation, and padding.
[0522] Method 200'' includes S210'' to S220''. Hereinafter, S210'' to S220'' will be specifically described.
[0523] S210'': Obtain a fourth stitching image. The pixel number of the fourth stitching image is (P + K × N) × Q. The fourth stitching image includes a twelfth image and the second image. The row pixel number of the twelfth image is K × N, and the column pixel number is Q. The row pixel number of the second image is P, the column pixel number is Q, Q < M, M > N, and N < Q.
[0524] In some embodiments, S210'' can be implemented by an acquisition unit.
[0525] Optionally, in some embodiments, S210'' can be to obtain the fourth stitching image from the transmission unit of the first image processing apparatus in the aforementioned method 200.
[0526] S220'': Obtain the first image and the second image based on the fourth stitching image. The number of row pixels of the first image is M, the number of column pixels is N, where M > N and N < Q. The number of row pixels of the second image is P, the number of column pixels is Q, where Q < M. The number of row pixels of the fourth stitching image is P + K × N, and the number of column pixels is Q.
[0527] Hereinafter, S220'' will be described by using S221'' to S225'' as an example. It should be understood that S221'' to S225'' are merely one possible implementation form of S220'', and there may be other implementation forms of S220''. For example, after the following S223'', the ninth image can be first rotated, then vertically segmented, and then horizontally stitched to obtain the first image. The specific implementation form of S220'' is not limited in the embodiments of the present application.
[0528] S221'': Segment the fourth stitching image to obtain the twelfth image and the second image.
[0529] In some embodiments, to obtain the twelfth image and the second image, the fourth stitching image is segmented in the horizontal direction.
[0530] The fourth stitching image is segmented in the horizontal direction, and as a result, the image data can then be output more smoothly on the first port and the second port. In other words, during the same period, the corresponding image data is output to both ports.
[0531] If the twelfth image contains padding pixels, S222'' needs to be further implemented. In this case, M < K × Q. If the twelfth image does not contain padding pixels, there is no need to implement S222'', and S223'' to S225'' are directly implemented. In this case, M = K × Q, and the twelfth image becomes the following ninth image.
[0532] In some embodiments, after S221'', S222'' to S225'' may not be performed.
[0533] S222'': To obtain the ninth image, unpaddle the twelfth image. The number of row pixels of the ninth image is K × N, and the number of column pixels is M / K. K > 1, and K satisfies (K - 1) × Q < M ≤ K × Q.
[0534] In some embodiments, unpaddling the twelfth image may be performed by performing column unpaddling on the twelfth image. As a result, the number of pixels in each column of the twelfth image is reduced from Q to M / K, and the number of pixels in each row remains unchanged and is still K × N. In this case, the number of unpadded pixels is N × (K × Q - M).
[0535] In some embodiments, unpaddling can be performed starting from the first target position of the twelfth image to obtain the ninth image.
[0536] For some of the first target positions not described, refer to the relevant description in S12. Details are not described again in this specification.
[0537] In some embodiments, after S222'', S223'' to S225'' may not be performed.
[0538] In some embodiments, when M < K × Q, S221'' and S222'' may alternatively be replaced by S226'' and S227''.
[0539] S226'': To obtain the third stitching image, unpaddle the fourth stitching image.
[0540] In some embodiments, column padding is removed for the 12th image in the fourth stitching image. As a result, the number of pixels in each column of the 12th image is reduced from Q to M / K, the number of pixels in each row remains unchanged, and is still K×N. In this case, the number of unpadded pixels is N×(K×Q - M).
[0541] In this case, the third stitching image is an irregular image, the number of pixels in the P columns of the third stitching image is Q, and the number of pixels in the K×N columns is M / K. In other words, the number of pixels in the M / K columns of the third stitching image is different from the number of pixels in the other P columns.
[0542] In some embodiments, padding may be removed from the first target position of the 12th image in the fourth stitching image to obtain the third stitching image. For example, the first target position includes at least one of the upper position, the lower position, or the middle position.
[0543] For the related description of the first target position, please refer to the related description in S12. Details will not be described again in this specification.
[0544] S227'': To obtain the second image and the ninth image, the third stitching image is segmented horizontally. The number of row pixels of the ninth image is K×N, and the number of column pixels is M / K. K>1, and K satisfies (K - 1)×Q < M ≤ K×Q.
[0545] In some embodiments, after S227'', S223''~S225'' may not be performed.
[0546] S223'': To obtain K sub-images, the ninth image is segmented horizontally. The number of row pixels of all K sub-images is N, and the number of column pixels of all K sub-images is M / K.
[0547] In some embodiments, after S223'', S224'' and S225'' may not be performed.
[0548] S224: Vertically stitch K sub-images to obtain the fourth image, which has NxM pixels.
[0549] In some embodiments, after S224'', S225'' may not be performed.
[0550] S225): Rotate the fourth image to obtain the first image.
[0551] In some embodiments, to obtain the first image, the fourth image is rotated by (-90°-180°×n), where the number of row pixels in the first image is M×N.
[0552] The method 200'' may further include the aforementioned S330 and S340. For a description of S330 and S340, please refer to the above description. The details will not be described again herein.
[0553] In some embodiments, S221"-S227" may be performed by a second processing unit. For example, the second processing unit may include, but is not limited to, an FPGA unit and / or a Ser.
[0554] In some embodiments, method 200'' and method 200' may be implemented separately. In some other embodiments, method 200'' and method 200' may be implemented in combination. In this case, method 200' includes S211' and S215'. This is not limited to the embodiments of the present application.
[0555] In some embodiments, the aforementioned first image processing apparatus may further include an acquisition unit, a second processing unit, a first transmission unit, and / or a second transmission unit. The acquisition unit of the first image processing apparatus implements S210'', the second processing unit of the first image processing apparatus implements S221'' to S225'', the first transmission unit of the first image processing apparatus implements S330, and the second transmission unit of the first image processing apparatus implements S340.
[0556] Embodiments of the present application further provide another image processing method 200'''. The method is applicable to embodiments where the column pixel number Q of the second image is less than the row pixel number M of the first image. Method 200''' includes S210''' to S220'''. Hereinafter, S210'' to S220''' will be specifically described.
[0557] S210'': Obtain a fifth stitching image. The pixel number of the fifth stitching image is (P + K × N) × Q. The fifth stitching image includes an eleventh image and a second image. The row pixel number of the eleventh image is K × N, and the column pixel number is Q. The row pixel number of the second image is P, and the column pixel number is Q, where Q < M, M > N, N < Q, K > 1, and K satisfies (K - 1) × Q < M ≤ K × Q.
[0558] In some embodiments, S210''' may be implemented by an acquisition unit.
[0559] Optionally, in some embodiments, S210''' may be to obtain the fifth stitching image from the transmission unit of the first image processing apparatus in the aforementioned method 200.
[0560] [[ID=
[0561] In the following, Scheme 1''' to Scheme 3''' are used as examples for explanation. It should be understood that Scheme 1''' to Scheme 3''' are only three possible implementation forms of S220'''', and there may be other implementation forms of S220'''. For example, after the following S223''', the tenth image can be first rotated and then unpadded to obtain the first image. The specific implementation form of S220''' is not limited in the embodiments of the present application.
[0562] Method 1''' Method 1''' may include S221''' to S225'''. S221'' to S225''' will be specifically described below.
[0563] S221): Segment the fifth stitched image to obtain the eleventh image and the second image.
[0564] In some embodiments, the fifth stitched image is horizontally segmented to obtain the eleventh image and the second image.
[0565] The fifth stitching image is horizontally segmented, so that the image data can then be output more smoothly on the first port and the second port. In other words, the corresponding image data is output to both ports during the same period.
[0566] In some embodiments, after S221'''', S224'''' and S225'''' may not be performed.
[0567] S222': Horizontally segment the 11th image to obtain K sub-images. The K sub-images all have N row pixel numbers, and the K sub-images all have Q column pixel numbers.
[0568] In some embodiments, after S222'''', S223'''' to S225'''' may not be performed.
[0569] S223': Vertically stitch K sub-images to obtain the tenth image, where the number of row pixels of the tenth image is N and the number of column pixels is KxQ.
[0570] If the tenth image does not contain padding pixels, S224''' does not need to be performed and S225''' is directly performed. In this case, M=K×Q, and the tenth image is the next four images. If the tenth image does contain padding pixels, S224''' needs to be performed. In this case, M <K×Qである。
[0571] In some embodiments, after S223'''', steps S224'''' and S225'''' may not be performed.
[0572] S224: Unpad the 10th image to get the 4th image.
[0573] In some embodiments, unpadding the tenth image may be performing column unpadding on the tenth image, such that the number of pixels in each column of the tenth image is reduced from K×Q to M, while the number of pixels in each row remains unchanged and is still N. In this case, the number of unpadded pixels is N×(K×QM), and the number of pixels in the fourth image is N×M.
[0574] In some embodiments, unpadding may be performed from the first target location of the tenth image to obtain the fourth image.
[0575] For some of the first target positions that are not described, please refer to the relevant description in S12, and the details will not be described again here.
[0576] In some embodiments, after S224''', S225''' may not be performed.
[0577] S225): Rotate the fourth image to obtain the first image.
[0578] In some embodiments, to obtain the first image, the fourth image is rotated by (-90°-180°×n), where the number of row pixels in the first image is M×N.
[0579] Method 2'' Method 2''' may include steps S226''' to S230'''. Steps S226'' to S230''' will be described in detail below.
[0580] S226: Unpad the fifth stitched image to obtain the third stitched image, where the number of unpadded pixels is N×(K×QM).
[0581] In some embodiments, unpadding the fifth stitched image may be performing row unpadding on the fifth stitched image, so that the number of pixels in at least K×QM rows of the fifth stitched image is reduced from P+K×N to a maximum of P+(K−1)×N.
[0582] In some embodiments, unpadding may be performed from the first target position of the fifth stitched image to obtain a third stitched image.
[0583] For some of the first target positions that are not described, please refer to the relevant description in S12, and the details will not be described again here.
[0584] In this case, if M < K × Q, the fifth stitching image includes padding pixels. The third stitching image is an irregular image, and the number of pixels in at least K × Q - M rows within the third stitching image is P + (K - 1) × N. In other words, the number of pixels in at least K × Q - M rows of the third stitching image is different from the number of pixels in other rows. When M = K × Q, the fifth stitching image does not include padding pixels, and it is not necessary to perform the operation in S226'''. In this case, the fifth stitching image is the third stitching image in S227'''.
[0585] S227'': To obtain the thirteenth image and the second image, the third stitching image is segmented horizontally. In this case, the number of row pixels of the thirteenth image is K × N, and the number of column pixels is Q.
[0586] The third stitching image is segmented horizontally, and as a result, the image data can then be output more smoothly on the first port and the second port. In other words, corresponding image data is output to both ports during the same period.
[0587] In some embodiments, after S227''', S228''' to S230''' may not be performed.
[0588] S228''': To obtain K sub-images, the thirteenth image is segmented horizontally. The number of row pixels of the K sub-images is N.
[0589] In some embodiments, after S228''', step S229''' and step S230''' may not be performed.
[0590] S229''': To obtain the fourth image, the K sub-images are stitched vertically. In this case, the number of pixels of the fourth image is N × M.
[0591] In some embodiments, after S229'''', S229''' and S230'''' may not be performed.
[0592] S230): Rotate the fourth image to obtain the first image.
[0593] In some embodiments, to obtain the first image, the fourth image is rotated by (-90°-180°×n), where the number of row pixels in the first image is M×N.
[0594] Method 3''' Method 3''' may include S221''' and S231''' to S234'''. For the relevant description of S221''', please refer to the above description. The details will not be described again in this specification. Below, S231'' to S234''' will be specifically described.
[0595] In some embodiments, after S221''', S231''' to S234''' may not be performed.
[0596] S231): Unpad the 11th image to obtain the 13th image. In this case, the number of unpadded pixels is N×(K×QM).
[0597] In some embodiments, unpadding the 11th image may be performing row unpadding on the 11th image such that the number of pixels in at least K×QM rows of the 11th image is reduced from P+K×N to a maximum of P+(K−1)×N.
[0598] In some embodiments, unpadding may be performed from the first target position of the eleventh image to obtain the thirteenth image.
[0599] For some of the first target positions that are not described, please refer to the relevant description in S12, and the details will not be described again here.
[0600] In this case, if M < K × Q, the 11th image includes padding pixels. The number of pixels in at least K × Q - M rows within the 13th image is P + (K - 1) × N. In other words, the number of pixels in at least K × Q - M rows of the 13th image is different from the number of pixels in other rows. When M = K × Q, the 11th image does not include padding pixels, and it is not necessary to perform the operation of S231'''. In this case, the 11th image is the 13th image in S232'''.
[0601] In some embodiments, after S231''', S232''' to S234''' may not be performed.
[0602] S232''': To obtain K sub-images, the 13th image is segmented horizontally. The number of row pixels of the K sub-images is N.
[0603] In some embodiments, after S232''', S233''' and S234''' may not be performed.
[0604] S233''': To obtain the 4th image, the K sub-images are stitched vertically. In this case, the number of pixels of the 4th image is N × M.
[0605] In some embodiments, after S233''', S234''' may not be performed.
[0606] S234'': To obtain the 1st image, the 4th image is rotated.
[0607] In some embodiments, to obtain the 1st image, the 4th image is rotated by (-90° - 180° × n). In this case, the number of row pixels of the 1st image is M × N.
[0608] The method 200''' may further include the aforementioned S330 and S340. For the descriptions of S330 and S340, please refer to the aforementioned descriptions. Details will not be described again in this specification.
[0609] In some embodiments, S220''' may be performed by a second processing unit. For example, the second processing unit may include, but is not limited to, an FPGA unit and / or a Ser.
[0610] In some embodiments, method 200''' and method 200' may be performed separately. In some other embodiments, method 200''' and method 200' may be performed in combination. This is not limited to the embodiments of the present application.
[0611] In some embodiments, the aforementioned first image processing device may further include an acquisition unit, a second processing unit, a first transmission unit, and / or a second transmission unit, wherein the acquisition unit of the first image processing device performs S210''', the second processing unit of the first image processing device performs S220''', the first transmission unit of the first image processing device performs S330, and the second transmission unit of the first image processing device performs S340.
[0612] In some embodiments, if the first image and / or the second image are images formed by stitching multiple images, method 200" or 200'" further includes segmenting the first image and / or the second image into multiple images. The method may further include transmitting the different segmented images through different ports.
[0613] According to the aforementioned method 200" or 200'", the second image does not need to be processed in the process of processing the fourth stitched image or the fifth stitched image. In this way, the complexity of processing the second image is not further increased. In addition, each row of the fourth stitched image or the fifth stitched image includes a complete row of pixels of the second image. The pixels of the second image do not need to be buffered, and the rows of pixels of the second image can be extracted by only performing simple segmentation on the fourth stitched image or the fifth stitched image, so that the second image can be quickly transferred in real time. In addition, the acquired first image and the acquired second image do not include padding pixels. In this way, in a subsequent process of transmitting the first image and the second image, in one aspect, the padding pixels do not occupy the transmission bandwidth. This improves the transmission efficiency of the first image and the second image. In another aspect, neither the first image nor the second image includes padding pixels, and the pixel clocks (referring to the number of image pixels transmitted per second) corresponding to the first image and the second image are small, which may result in reduced interface requirements on the device receiving the first image and the second image.
[0614] An embodiment of the present application further provides another image processing method 500. In the image processing method 500, a second pre-processing can be performed on a third image to obtain a first image.
[0615] For example, FIG. 16 is a schematic flowchart of an example of an image processing method 500 according to an embodiment of the present application.
[0616] As shown in FIG. 16, the method 500 includes the following steps.
[0617] S510: A third image is acquired.
[0618] In some embodiments, S510 may be performed by an acquisition unit.
[0619] Optionally, in some embodiments, S510 may be acquiring a third image by an acquisition unit of a second image processing device.
[0620] S520: Perform second pre-processing on the third image to obtain the first image, wherein the second pre-processing includes rotating the third image, or the second pre-processing includes rotating and unpadding the third image.
[0621] In the embodiment of the present application, the manner of implementing S520 is not limited. The following describes S520 in detail by using manners A to C as examples.
[0622] In scheme A, the third image is rotated to obtain the first image.
[0623] In some embodiments, to obtain the first image, the third image is rotated by (-90°-180°×n).
[0624] For the relevant description of Scheme A, please refer to the above relevant description of S12', and the details will not be described again in this specification.
[0625] Method B may include steps S521 and S522. Steps S521 and S522 will be described in detail below.
[0626] S521: Rotate the third image to obtain a fifth image.
[0627] For the relevant description of S521, please refer to the above relevant description of S22', and the details will not be described again in this specification.
[0628] S522: Unpad the fifth image to obtain the first image.
[0629] For the relevant description of S522, please refer to the above relevant description of S23', and the details will not be described again in this specification.
[0630] Method C may include steps S521' and S522'. Steps S521' and S522' will be described in detail below.
[0631] S521': Unpad the third image to obtain the fourth image.
[0632] For the relevant description of S521', please refer to the above relevant description of S32', and the details will not be described again in this specification.
[0633] S522': Rotate the fourth image to obtain the first image.
[0634] For the relevant description of S522', please refer to the above relevant description of S33', and the details will not be described again in this specification.
[0635] In some embodiments, S520 in method 500 may be performed by a third processing unit. For example, the third processing unit may include, but is not limited to, an FPGA unit and / or a Des.
[0636] In some embodiments, the method 500 further includes S530.
[0637] S530: The first image is transmitted.
[0638] In some embodiments, S530 in method 500 may be performed by a sending unit.
[0639] In some embodiments, the method 500 is performed by a second image processing device. Specifically, the second image processing device includes an acquisition unit, a third processing unit, and a transmission unit. The acquisition unit of the second image processing device performs S510, the third processing unit of the second image processing device performs S520, and the transmission unit of the second image processing device performs S530.
[0640] In some embodiments, the second image processing device further includes a display, and the transmission unit of the second image processing device transmits the first image to the display so that the second image processing device displays the first image on the display.
[0641] For example, in the embodiments of the present application, the second image processing device includes, but is not limited to, an in-vehicle infotainment (IVI) device, a head-up display (HUD) device, etc.
[0642] In some embodiments, the second image processing device further includes a second interface, and a transmission unit of the second image processing device transmits the first image to the display via the second interface.
[0643] For example, in the embodiment of the present application, the second interface includes, but is not limited to, MIPI, oLDI, or DP.
[0644] An embodiment of the present application further provides another image processing method 600. In the image processing method 600, the fifth image can be unpadded to obtain a first image.
[0645] For example, FIG. 17 is a schematic flow chart of an example of an image processing method 600 according to an embodiment of the present application.
[0646] As shown in FIG. 17, the method 600 includes the following steps.
[0647] S610: A fifth image is acquired.
[0648] In some embodiments, S610 may be performed by an acquisition unit.
[0649] Optionally, in some embodiments, S610 may be acquiring a fifth image by an acquisition unit of a second image processing device.
[0650] S620: Unpad the fifth image to obtain the first image.
[0651] For the relevant description of S620, please refer to the above relevant description of S23', and the details will not be described again in this specification.
[0652] In some embodiments, S620 in method 600 may be performed by a third processing unit. For example, the third processing unit may include, but is not limited to, an FPGA unit and / or a Des.
[0653] In some embodiments, the method 600 further includes S630.
[0654] S630: The first image is transmitted.
[0655] In some embodiments, S630 in method 600 may be performed by a transmitting unit.
[0656] In some embodiments, the second image processing device may further include an acquisition unit, a third processing unit, and a sending unit, wherein the acquisition unit of the second image processing device performs S610, the third processing unit of the second image processing device performs S620, and the sending unit of the second image processing device performs S630.
[0657] In some embodiments, the second image processing device further includes a display, and the transmission unit of the second image processing device transmits the first image to the display so that the second image processing device displays the first image on the display.
[0658] In some embodiments, the second image processing device further includes a second interface, and a transmission unit of the second image processing device transmits the first image to the display via the second interface.
[0659] An embodiment of the present application further provides an image processing method 700. In the image processing method 700, the fourth image can be rotated to obtain the first image.
[0660] For example, FIG. 18 is a schematic flow chart of an example of an image processing method 700 according to an embodiment of the present application.
[0661] As shown in FIG. 18, the method 700 includes the following steps.
[0662] S710: A fourth image is acquired.
[0663] In some embodiments, S710 may be performed by an acquisition unit.
[0664] Optionally, in some embodiments, S710 may be acquiring a fourth image by an acquisition unit of a second image processing device.
[0665] S720: Rotate the fourth image to obtain the first image.
[0666] For the relevant description of S720, please refer to the above relevant description of S33', and the details will not be described again in this specification.
[0667] In some embodiments, S720 in method 700 may be performed by a third processing unit. For example, the third processing unit may include, but is not limited to, an FPGA unit and / or a Des.
[0668] In some embodiments, the method 700 further includes S730.
[0669] S730: Transmit the first image.
[0670] In some embodiments, S730 in method 700 may be performed by a transmitting unit.
[0671] In some embodiments, the second image processing device may further include an acquisition unit, a third processing unit, and a sending unit, wherein the acquisition unit of the second image processing device performs S710, the third processing unit of the second image processing device performs S720, and the sending unit of the second image processing device performs S730.
[0672] In some embodiments, the second image processing device further includes a display, and the transmission unit of the second image processing device transmits the first image to the display so that the second image processing device displays the first image on the display.
[0673] In some embodiments, the second image processing device further includes a second interface, and a transmission unit of the second image processing device transmits the first image to the display via the second interface.
[0674] The first image acquired according to the aforementioned methods 500, 600, or 700 does not include padding pixels. In this way, in a subsequent process of transmitting the first image, in one aspect, the padding pixels do not occupy transmission bandwidth. This improves transmission efficiency of the first image. In another aspect, since the first image does not include padding pixels, the pixel clock corresponding to the first image is small, which may reduce the interface requirements on the device receiving the first image.
[0675] The embodiment of the present application further provides another image processing method, in which the first image can be acquired based on the twelfth image, the eleventh image, or the thirteenth image.
[0676] In a possible implementation, the method includes S810 and S222'' to S225''.
[0677] S810: A twelfth image is acquired. The number of row pixels of the twelfth image is K×NP, and the number of column pixels is MQ. The number of pixels of the fourth image is N×Q.<M、M> N, and N <Qである。
[0678] For the description of S222'' to S225'', please refer to the related description above. The details will not be described again in this specification.
[0679] In another possible implementation, the method may include S810, S222'', S226'', and S227''.
[0680] For the description of S222'', S226'', and S227'', please refer to the relevant description above. The details will not be described again here.
[0681] In yet another possible implementation, the method may include S820 and S222'' to S225'''.
[0682] S820: An eleventh image is acquired. The eleventh image has K×N row pixels and Q column pixels.
[0683] For the description of S222''' to S225''', please refer to the related description above. The details will not be described again in this specification.
[0684] In yet another possible implementation, the method may include S820 and S231'' to S234'''.
[0685] For the description of S231''' to S234''', please refer to the related description above. The details will not be described again in this specification.
[0686] In yet another possible implementation, the method may include S830 and S228''-S230'''.
[0687] S830: A thirteenth image is acquired. The thirteenth image has K×N row pixels and Q column pixels.
[0688] For the description of S228''' to S230''', please refer to the related description above. The details will not be described again in this specification.
[0689] In some embodiments, S222″ to S225″, S222″, S226″, and S227″, S222″ to S225″, S231″ to S234″, or S228″ to S230″ in the method may be performed by a third processing unit. For example, the third processing unit may include, but is not limited to, an FPGA unit and / or a Des.
[0690] In some embodiments, the method further comprises S840.
[0691] S840: Transmit the first image.
[0692] In some embodiments, S840 in method 700 may be performed by a sending unit.
[0693] In some embodiments, the second image processing device may further include an acquisition unit, a third processing unit, and a transmission unit. The acquisition unit in the second image processing device performs S810, S820, or S830, the third processing unit in the second image processing device performs S222″ to S225″, S222″, S226″, and S227″, S222″ to S225″, S231″ to S234″, or S228″ to S230″, and the transmission unit in the second image processing device performs S840.
[0694] In some embodiments, the second image processing device further includes a display, and the transmission unit of the second image processing device transmits the first image to the display so that the second image processing device displays the first image on the display.
[0695] In some embodiments, the second image processing device further includes a second interface, and a transmission unit of the second image processing device transmits the first image to the display via the second interface.
[0696] The first image acquired according to the method does not include padding pixels. Thus, in a subsequent process of transmitting the first image, in one aspect, the padding pixels do not occupy transmission bandwidth. This improves transmission efficiency of the first image. In another aspect, since the first image does not include padding pixels, the pixel clock corresponding to the first image is small, thereby reducing the interface requirements on the device receiving the first image.
[0697] In the embodiments of the present application, image stitching and / or segmentation is described by using the image as displayed. In a specific implementation process, image stitching and / or segmentation can be implemented by changing the storage address of each pixel in the image.
[0698] The above describes in detail the image processing method provided in the present application with reference to FIGS. 5 and 18. Hereinafter, embodiments of the image processing device of the present application will be described in detail with reference to FIGS. 19 to 23. To implement the functions according to the above-described embodiments, it can be understood that the image processing devices in FIGS. 19 to 23 include corresponding hardware structures and / or software modules for implementing the functions. Those skilled in the art will easily recognize that the present application can be implemented by using hardware or a combination of hardware and computer software, in combination with the units and method steps in the examples described in the embodiments disclosed in the present application. Whether the functions are implemented using hardware or hardware driven by computer software depends on the specific application scenario and design constraints of the technical solution.
[0699] FIG. 19 is a schematic diagram of an example configuration of an image processing device according to an embodiment of the present application.
[0700] For example, as shown in FIG. 19 , an image processing apparatus 800 includes: a first processing unit 801 configured to obtain a first stitched image based on a first image and a second image; and a sending unit 802 configured to send the first stitched image, where the number of row pixels of the first image is M, the number of column pixels is N, M>N, and both M and N are positive integers; the number of row pixels of the second image is P, the number of column pixels is Q, Q≧M, and both P and Q are positive integers; the number of row pixels of the first stitched image is N+P, and the number of column pixels is Q; the first stitched image includes a second image and a third image, and the third image is an image obtained through a first pre-processing of the first image, where the first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image.
[0701] For example, the first processing unit 801 includes a system-on-chip SoC.
[0702] In some embodiments, the first processing unit 801 being configured to obtain a first stitched image based on the first image and the second image includes the first processing unit 801 being particularly configured to rotate the first image to obtain a third image, and stitch the third image and the second image to obtain the first stitched image.
[0703] Optionally, the first processing unit 801 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the third image.
[0704] In some other embodiments, the first processing unit 801 is particularly configured to rotate the first image to obtain a fourth image, perform pixel padding on the fourth image to obtain a third image, and stitch the third image and the second image to obtain a first stitched image.
[0705] Optionally, the first processing unit 801 being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit 801 being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, the first target position including at least one of an upper position, a lower position, or an intermediate position.
[0706] In some other embodiments, the first processing unit 801 is particularly configured to perform pixel padding on the first image to obtain a fifth image, rotate the fifth image to obtain a third image, and stitch the third image and the second image to obtain a first stitched image.
[0707] Optionally, the first processing unit 801 being particularly configured to perform pixel padding on the first image to obtain the fifth image includes the first processing unit 801 being particularly configured to perform pixel padding from a second target position of the first image to obtain the fifth image, the second target position including at least one of a left position, a right position, or a middle position.
[0708] Optionally, the first processing unit 801 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the fifth image.
[0709] In some other embodiments, the first processing unit 801 is particularly configured to rotate the first image to obtain a fourth image, stitch the fourth image and the second image to obtain a second stitched image, and perform pixel padding on the second stitched image to obtain the first stitched image.
[0710] Optionally, the first processing unit 801 being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit 801 being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, the first target position including at least one of an upper position, a lower position, or an intermediate position.
[0711] Optionally, the first processing unit 801 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the fourth image.
[0712] Optionally, the sending unit 802 is specifically configured to send the first stitched image to a second processing unit or a transmission unit.
[0713] For example, the second processing unit includes an FPGA unit and / or a Ser.
[0714] FIG. 20 is a schematic diagram of another example of the configuration of an image processing device according to an embodiment of the present application.
[0715] For example, as shown in FIG. 20, an image processing device 900 includes an acquisition unit 901 and a second processing unit 902.
[0716] For example, the second processing unit 902 includes an FPGA unit and / or a Ser.
[0717] In a possible implementation, the acquisition unit 901 is configured to acquire a first stitched image. The second processing unit 902 is configured to perform a first processing on the first stitched image to acquire a first image and a second image. The number of row pixels of the first stitched image is N+P, and the number of column pixels is Q, and the first stitched image includes a second image and a third image, where N, P, and Q are all positive integers. The number of row pixels of the first image is M, and the number of column pixels is N, where M>N, and M is a positive integer. The number of row pixels of the second image is P, and the number of column pixels is Q, where Q≧M. The first processing includes segmenting the first stitched image to acquire the second image and the third image. The first processing further includes rotating the third image, or the first processing further includes rotating and unpadding the third image.
[0718] In some embodiments, the second processing unit 902 is particularly configured to segment the first stitched image to obtain the second image and the third image, and to rotate the third image to obtain the first image.
[0719] Optionally, the second processing unit 902 is further particularly configured to rotate the third image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0720] In some other embodiments, the second processing unit 902 is specifically configured to segment the first stitched image to obtain a second image and a third image, rotate the third image to obtain a fifth image, and unpad the fifth image to obtain the first image.
[0721] Optionally, the second processing unit 902 being particularly configured to unpadding the fifth image to obtain the first image includes the second processing unit 902 being particularly configured to perform unpadding from a second target position of the fifth image to obtain the first image, the second target position including at least one of a left position, a right position, or a middle position.
[0722] Optionally, the second processing unit 902 is further particularly configured to rotate the third image by (-90°-180°×n), where n is an integer, to obtain the fifth image.
[0723] In some other embodiments, the second processing unit 902 is further particularly configured to segment the first stitched image to obtain a second image and a third image, unpad the third image to obtain a fourth image, and rotate the fourth image to obtain the first image.
[0724] Optionally, the second processing unit 902 being further particularly configured to unpadding the third image to obtain the fourth image includes being particularly configured to: perform unpadding from a first target position of the third image to obtain the fourth image, the first target position including at least one of an upper position, a lower position, or a middle position.
[0725] Optionally, the second processing unit 902 is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0726] Optionally, the apparatus 900 further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0727] In another possible implementation, the acquisition unit 901 is configured to acquire a first stitched image. The second processing unit 902 is configured to perform a second processing on the first stitched image to acquire a first image and a second image. The number of row pixels of the first stitched image is N+P, the number of column pixels is Q, and the first stitched image includes a second image and a third image, where N, P, and Q are all positive integers. The number of row pixels of the first image is M, the number of column pixels is N, where M>N, and M is a positive integer. The number of row pixels of the second image is P, the number of column pixels is Q, where Q≧M. The second processing includes unpadding the first stitched image to acquire a second stitched image. The second processing further includes rotating and segmenting the second stitched image to acquire the first image and the second image.
[0728] In some embodiments, the second processing unit 902 is particularly configured to unpadding the first stitched image to obtain a second stitched image, segmenting the second stitched image to obtain a second image and a fourth image, and rotating the fourth image to obtain the first image.
[0729] Optionally, the second processing unit 902 being particularly configured to unpadding the first stitched image to obtain the second stitched image includes the second processing unit 902 being particularly configured to perform unpadding from a first target position of a third image in the first stitched image to obtain the second stitched image, wherein the first target position includes at least one of an upper position, a lower position, or a middle position.
[0730] Optionally, the second processing unit 902 is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0731] Optionally, the apparatus 900 further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0732] FIG. 21 is a schematic diagram of another example of the configuration of an image processing device according to an embodiment of the present application.
[0733] For example, as shown in FIG. 21, an image processing apparatus 1000 includes an acquisition unit 1001 and a third processing unit 1002.
[0734] For example, the third processing unit 1002 includes an FPGA unit and / or a Des.
[0735] In a possible implementation, the acquisition unit 1001 is configured to acquire a third image. The third processing unit 1002 is configured to perform second pre-processing on the third image to acquire the first image. The second pre-processing includes rotating the third image, or the second pre-processing includes rotating and unpadding the third image.
[0736] In some embodiments, the third processing unit 1002 is specifically configured to rotate the third image to obtain the first image.
[0737] Optionally, the third processing unit 1002 is further particularly configured to rotate the third image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0738] In some other embodiments, the third processing unit 1002 is specifically configured to rotate the third image to obtain the fifth image, and to unpad the fifth image to obtain the first image.
[0739] Optionally, the third processing unit 1002 being particularly configured to unpadding the fifth image to obtain the first image includes the third processing unit 1002 being particularly configured to perform unpadding from a second target position of the fifth image to obtain the first image, the second target position including at least one of a left position, a right position, or a middle position.
[0740] Optionally, the third processing unit 1002 is further particularly configured to rotate the third image by (-90°-180°×n), where n is an integer, to obtain the fifth image.
[0741] In some other embodiments, the third processing unit 1002 is specifically configured to unpadding the third image to obtain the fourth image, and to rotate the fourth image to obtain the first image.
[0742] Optionally, the third processing unit 1002 being particularly configured to unpadding the third image to obtain the fourth image includes the third processing unit 1002 being particularly configured to perform unpadding from a first target position of the third image to obtain the fourth image, wherein the first target position includes at least one of an upper position, a lower position, or an intermediate position.
[0743] Optionally, the third processing unit 1002 is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0744] Optionally, the apparatus 1000 further comprises a transmitting unit configured to transmit the first image.
[0745] In another possible implementation, the acquisition unit 1001 is configured to acquire a fifth image, and the third processing unit 1002 is configured to unpadding the fifth image to acquire the first image.
[0746] Optionally, the third processing unit 1002 being configured to unpadding the fifth image to obtain the first image includes being particularly configured to: perform unpadding from a second target position of the fifth image to obtain the first image, the second target position including at least one of a left position, a right position, or a middle position.
[0747] Optionally, the apparatus 1000 further comprises a transmitting unit configured to transmit the first image.
[0748] In yet another possible implementation, the acquisition unit 1001 is configured to acquire a fourth image, and the third processing unit 1002 is configured to rotate the fourth image to acquire the first image.
[0749] Optionally, the third processing unit 1002 is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0750] Optionally, the apparatus 1000 further comprises a transmitting unit configured to transmit the first image.
[0751] FIG. 22 is a schematic diagram of a configuration of yet another example of an image processing device according to an embodiment of the present application.
[0752] For example, as shown in FIG. 22, an image processing device 1100 includes a first processing unit 1101, a sending unit 1102, an obtaining unit 1103, and a second processing unit 1104.
[0753] For example, the device 1100 is a domain controller, such as a CDC or MDC.
[0754] For example, the first processing unit 1101 includes a system-on-chip SoC.
[0755] For example, the second processing unit 1104 includes an FPGA unit and / or a Ser.
[0756] In a possible implementation, the first processing unit 1101 is configured to obtain a first stitched image based on the first image and the second image. The sending unit 1102 is configured to send the first stitched image. The acquiring unit 1103 is configured to acquire the first stitched image. The second processing unit 1104 is configured to perform a first processing on the first stitched image to obtain the first image and the second image. The number of row pixels of the first image is M, the number of column pixels is N, M>N, and both M and N are positive integers. The number of row pixels of the second image is P, the number of column pixels is Q, Q≧M, and both P and Q are positive integers. The number of row pixels of the first stitched image is N+P, and the number of column pixels is Q. The first stitching image includes a second image and a third image, and the third image is an image obtained through a first pre-processing of the first image, where the first pre-processing includes rotating the first image or the first pre-processing includes rotating and padding the first image. The first processing includes segmenting the first stitching image to obtain the second image and the third image. The first processing further includes rotating the third image or the first processing further includes rotating and unpadding the third image.
[0757] In some embodiments, the first processing unit 1101 being configured to obtain a first stitched image based on the first image and the second image includes the first processing unit 1101 being particularly configured to rotate the first image to obtain a third image, and stitch the third image and the second image to obtain the first stitched image.
[0758] Optionally, the first processing unit 1101 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the third image.
[0759] In some other embodiments, the first processing unit 1101 is particularly configured to rotate the first image to obtain a fourth image, perform pixel padding on the fourth image to obtain a third image, and stitch the third image and the second image to obtain a first stitched image.
[0760] Optionally, the first processing unit 1101 being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit 1101 being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, the first target position including at least one of an upper position, a lower position, or an intermediate position.
[0761] In some other embodiments, the first processing unit 1101 is particularly configured to perform pixel padding on the first image to obtain a fifth image, rotate the fifth image to obtain a third image, and stitch the third image and the second image to obtain a first stitched image.
[0762] Optionally, the first processing unit 1101 being particularly configured to perform pixel padding on the first image to obtain the fifth image includes the first processing unit 1101 being particularly configured to perform pixel padding from a second target position of the first image to obtain the fifth image, the second target position including at least one of a left position, a right position, or a middle position.
[0763] Optionally, the first processing unit 1101 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the fifth image.
[0764] In some other embodiments, the first processing unit 1101 is particularly configured to rotate the first image to obtain a fourth image, stitch the fourth image and the second image to obtain a second stitched image, and perform pixel padding on the second stitched image to obtain the first stitched image.
[0765] Optionally, the first processing unit 1101 being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit 1101 being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, the first target position including at least one of an upper position, a lower position, or an intermediate position.
[0766] Optionally, the first processing unit 1101 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the fourth image.
[0767] Optionally, the sending unit 1102 is specifically configured to send the first stitched image to the second processing unit 1104 or a transmission unit.
[0768] In some embodiments, the first processing unit 1101 is particularly configured to segment the first stitched image to obtain the second image and the third image, and to rotate the third image to obtain the first image.
[0769] Optionally, the second processing unit 1104 is further particularly configured to rotate the third image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0770] In some other embodiments, the second processing unit 1104 is specifically configured to segment the first stitched image to obtain the second image and the third image, rotate the third image to obtain the fifth image, and unpad the fifth image to obtain the first image.
[0771] Optionally, the second processing unit 1104 being particularly configured to unpadding the fifth image to obtain the first image includes the second processing unit 1104 being particularly configured to perform unpadding from a second target position of the fifth image to obtain the first image, the second target position including at least one of a left position, a right position, or a middle position.
[0772] Optionally, the second processing unit 1104 is further particularly configured to rotate the third image by (-90°-180°×n), where n is an integer, to obtain the fifth image.
[0773] In some other embodiments, the second processing unit 1104 is further particularly configured to segment the first stitched image to obtain the second image and the third image, unpad the third image to obtain the fourth image, and rotate the fourth image to obtain the first image.
[0774] Optionally, the second processing unit 1104 being further particularly configured to unpadding the third image to obtain the fourth image includes being particularly configured to: perform unpadding from a first target position of the third image to obtain the fourth image, the first target position including at least one of an upper position, a lower position, or an intermediate position.
[0775] Optionally, the second processing unit 1104 is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0776] Optionally, the apparatus 1100 further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0777] In another possible implementation, the first processing unit 1101 is configured to obtain a first stitched image based on the first image and the second image. The sending unit 1102 is configured to send the first stitched image. The acquiring unit 1103 is configured to acquire the first stitched image. The second processing unit 1104 is configured to perform a second processing on the first stitched image to obtain the first image and the second image. The number of row pixels of the first image is M, the number of column pixels is N, where M>N, and M and N are both positive integers. The number of row pixels of the second image is P, the number of column pixels is Q, where Q≧M, and P and Q are both positive integers. The number of row pixels of the first stitched image is N+P, and the number of column pixels is Q. The first stitched image includes a second image and a third image, and the third image is an image obtained through a first pre-processing of the first image. The first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image. The second processing includes unpadding the first stitched image to obtain a second stitched image. The second processing further includes rotating and segmenting the second stitched image to obtain the first image and the second image.
[0778] In some embodiments, the first processing unit 1101 being configured to obtain a first stitched image based on the first image and the second image includes the first processing unit 1101 being particularly configured to rotate the first image to obtain a third image, and stitch the third image and the second image to obtain the first stitched image.
[0779] Optionally, the first processing unit 1101 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the third image.
[0780] In some other embodiments, the first processing unit 1101 is particularly configured to rotate the first image to obtain a fourth image, perform pixel padding on the fourth image to obtain a third image, and stitch the third image and the second image to obtain a first stitched image.
[0781] Optionally, the first processing unit 1101 being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit 1101 being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, the first target position including at least one of an upper position, a lower position, or an intermediate position.
[0782] In some other embodiments, the first processing unit 1101 is particularly configured to perform pixel padding on the first image to obtain a fifth image, rotate the fifth image to obtain a third image, and stitch the third image and the second image to obtain a first stitched image.
[0783] Optionally, the first processing unit 1101 being particularly configured to perform pixel padding on the first image to obtain the fifth image includes the first processing unit 1101 being particularly configured to perform pixel padding from a second target position of the first image to obtain the fifth image, the second target position including at least one of a left position, a right position, or a middle position.
[0784] Optionally, the first processing unit 1101 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the fifth image.
[0785] In some other embodiments, the first processing unit 1101 is particularly configured to rotate the first image to obtain a fourth image, stitch the fourth image and the second image to obtain a second stitched image, and perform pixel padding on the second stitched image to obtain the first stitched image.
[0786] Optionally, the first processing unit 1101 being particularly configured to perform pixel padding on the fourth image to obtain the third image includes the first processing unit 1101 being particularly configured to perform pixel padding from a first target position of the fourth image to obtain the third image, the first target position including at least one of an upper position, a lower position, or an intermediate position.
[0787] Optionally, the first processing unit 1101 is further particularly configured to rotate the first image by (90°+180°×n), where n is an integer, to obtain the fourth image.
[0788] Optionally, the sending unit is specifically configured to send the first stitched image to the second processing unit 1104 or a transmission unit.
[0789] In some embodiments, the second processing unit 1104 is particularly configured to unpadding the first stitched image to obtain a second stitched image, segmenting the second stitched image to obtain a second image and a fourth image, and rotating the fourth image to obtain the first image.
[0790] Optionally, the second processing unit 1104 being particularly configured to unpadding the fifth image to obtain the first image includes the second processing unit 1104 being particularly configured to perform unpadding from a second target position of the fifth image to obtain the first image, the second target position including at least one of a left position, a right position, or a middle position.
[0791] Optionally, the second processing unit 1104 is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0792] Optionally, the apparatus 1100 further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0793] In some other embodiments, the second processing unit 1104 is particularly configured to unpadding the first stitched image to obtain a second stitched image, segmenting the second stitched image to obtain a second image and a fourth image, and rotating the fourth image to obtain the first image.
[0794] Optionally, the second processing unit 1104 being particularly configured to unpadding the fifth image to obtain the first image includes the second processing unit 1104 being particularly configured to perform unpadding from a second target position of the fifth image to obtain the first image, the second target position including at least one of a left position, a right position, or a middle position.
[0795] Optionally, the second processing unit 1104 is further particularly configured to rotate the fourth image by (-90°-180°×n), where n is an integer, to obtain the first image.
[0796] Optionally, the apparatus 1100 further includes a first transmitting unit, a second transmitting unit, a first port, and a second port, wherein the first transmitting unit is configured to transmit the second image via the first port, and the second transmitting unit is configured to transmit the first image via the second port.
[0797] In some embodiments, the units (or components) included in device 800, device 900, device 1000, or device 1100 may be arranged in one unit (or component). In some other embodiments, at least two units (or components) included in device 800, device 900, device 1000, or device 1100 are located in the same unit. This is not limited to the embodiments of the present application.
[0798] FIG. 23 is a schematic diagram of another example of the configuration of an image processing device according to an embodiment of the present application.
[0799] As shown in FIG. 23, the image processing device 1200 includes at least one processor 1201 and an interface circuit 1202 .
[0800] Optionally, the image processing device 1200 may further include a memory 1203, which is configured to store a program.
[0801] For example, the memory 1203 may be a read only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1203 may store a program. When the program stored in the memory 1203 is executed by the processor 1201, the processor 1201 and the interface circuit 1202 may be configured to perform steps of the image processing method 200, method 200′, method 300, method 400, method 200″, method 500, method 600, or method 700 provided in the embodiments of the present application. In other words, the processor 1201 may obtain stored instructions from the memory 1203 via the interface circuit 1202 to perform steps of the image processing method 200, method 200′, method 300, method 400, method 200″, method 500, method 600, or method 700 provided in the embodiments of the present application.
[0802] For example, the processor 1201 may be configured to execute associated programs by using a general-purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), a graphics processing unit (GPU), or one or more integrated circuits to implement functions that need to be performed by a unit in any one of the possible implementation forms of the image processing device 1200 provided in the embodiments of the present application, or to perform steps of the image processing method 200, method 200', method 300, method 400, method 200'', method 500, method 600, or method 700 provided in the embodiments of the present application.
[0803] For example, the processor 1201 may alternatively be an integrated circuit chip and have signal processing capabilities. In the implementation process, the steps of the image processing method 200, Method 200', Method 300, Method 400, Method 200'', Method 500, Method 600, or Method 700 provided in the embodiments of the present application may be completed by an integrated logic circuit in the form of hardware or instructions in the form of software in a processor.
[0804] For example, the processor 1201 may alternatively be a general-purpose processor, a digital signal processing (DSP), an application-specific integrated circuit (ASIC), an FPGA or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The steps of the image processing method 200, method 200', method 300, method 400, method 200", method 500, method 600, or method 700 provided in the embodiments of the present application may be implemented or performed. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The steps of the image processing method 200, method 200', method 300, method 400, method 200", method 500, method 600, or method 700 provided in the embodiments of the present application may be performed and completed directly by using a hardware decode processor, or may be performed and completed by using a combination of hardware modules and software modules in the decode processor. The software module can be arranged in a storage medium well-known in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is arranged in the memory. The processor reads the information in the memory and, in combination with the processor hardware, completes the functions that need to be performed by the units included in any one of the possible implementations of the image processing device 1200 according to the embodiments of the present application, or performs the steps of the image processing method 200, method 200', method 300, method 400, method 200'', method 500, method 600, or method 700 provided in the embodiments of the present application.
[0805] For example, the interface circuit 1202 may implement communication between the device and another device or a communication network using a transceiver device, such as, but not limited to, a transceiver. The interface circuit 1202 may be, for example, a communication interface.
[0806] The description of the procedures corresponding to the above-mentioned accompanying drawings has a respective focus, and for the parts of the procedures that are not described in detail, please refer to the relevant description of another procedure.
[0807] An embodiment of the present application further provides a computer-readable storage medium having program instructions, which, when executed directly or indirectly, implement the aforementioned image processing method.
[0808] An embodiment of the present application further provides a terminal device, which includes the first image processing device and / or the second image processing device.
[0809] Furthermore, the terminal may be an intelligent transportation device (vehicle or unmanned aerial vehicle), a smart home device, an intelligent manufacturing device, an intelligent wearable device, a robot, etc. The intelligent transportation device may be, for example, an AGV or an unmanned transport vehicle.
[0810] An embodiment of the present application further provides a computer program product including instructions, which, when running on a computing device, enables the computing device to perform the image processing method described above, or enables the computing device to implement the functionality of the image processing device described above.
[0811] An embodiment of the present application further provides a chip including at least one processor and an interface circuit, the interface circuit configured to provide program instructions or data to the at least one processor, the at least one processor configured to execute the program instructions to implement the aforementioned image processing method. [Explanation of symbols]
[0812] 10 First Device 11 SoC 12 Ser 20 Second Device 21 Des 22 Display 30 Third Device 31 Des 32 Display Port 121a 121b cable Port 122a 122b cable 200 Image Processing Methods 200' Image Processing Method 200'' image processing method 200'' Image Processing Method 300 Image Processing Methods 400 Image Processing Methods 500 Image Processing Methods 501 First Image 502 Second Image 503 Third Image 5031 Fourth Image 50311 First sub-image 50312 First sub-image 50313 First sub-image 5032 pixel padding area 50321 First Gap Region 50322 First Gap Region 511 First Image 512 Second Image 513 Third Image 514 First stitching image 521 First Image 5211 Second sub-image 5212 Second sub-image 5213 Second sub-image 522 Second Image 5231 pixel padding area 5232 pixel padding area 5233 Second Gap Region 5234 Second Gap Region 524 Third Image 5241 5th image 5242 5th image 5243 5th image 525 First stitching image 551 First Image 5511 Third sub-image 5512 Third sub-image 5513 Third sub-image 552 Second Image 553 First stitching image 554 6th image 600 Image Processing Methods 700 Image Processing Methods 800 Image Processing Device 801 first processing unit 802 transmitting unit 900 Image Processing Device 901 Acquired Units 902 second processing unit 1000 Image Processing Device 1001 Acquired Units 1002 third processing unit 1100 Image Processing Device 1101 first processing unit 1102 Transmitting unit 1103 Acquisition Units 1104 second processing unit 1200 equipment 1201 processor 1202 Interface circuit 1203 memory
Claims
1. 1. An image processing device, comprising: a first processing unit configured to obtain a first stitched image based on the first image and the second image; a sending unit configured to send the first stitched image; Equipped with the number of row pixels of the first image is M and the number of column pixels is N, M>N, and both M and N are positive integers; the number of row pixels of the second image is P and the number of column pixels is Q, where Q≧M, and both P and Q are positive integers; The number of row pixels of the first stitching image is N+P, and the number of column pixels is Q; the first stitching image includes the second image and a third image, and the third image is an image obtained through a first pre-processing of the first image, wherein the first pre-processing includes rotating the first image, or the first pre-processing includes rotating and padding the first image; The first processing unit rotating the first image to obtain a fourth image; performing pixel padding on the fourth image to obtain the third image; Stitching the third image and the second image to obtain the first stitched image. It is configured as follows: The first processing unit is particularly configured to perform pixel padding on the fourth image to obtain the third image, the first processing unit is specifically configured to perform pixel padding from a first target position of the fourth image to obtain the third image, and the first target position includes at least one of an upper position, a lower position, or a middle position; Including, Image processing device.
2. The first processing unit To obtain the fourth image, rotate the first image by (90° + 180° × n), where n is an integer.
10. The apparatus of claim 1 further specifically configured to:
3. The transmitting unit Sending the first stitched image to a second processing unit or a transmission unit.
3. The device according to claim 1 or 2, specifically adapted to:
4. The apparatus of claim 1 or 2, wherein the first processing unit comprises a system-on-chip SoC.
5. The transmission unit: Sending the first stitched image to a second processing unit or a sending unit Specifically configured to The apparatus of claim 4 , wherein the second processing unit comprises a field programmable gate array FPGA unit and / or a serializer Ser.
6. 1. An image processing device, comprising: an acquisition unit configured to acquire a first stitched image; a second processing unit configured to perform a first processing on the first stitched image to obtain a first image and a second image; Equipped with The number of row pixels of the first stitching image is N+P, and the number of column pixels is Q, and the first stitching image includes the second image and the third image, where N, P, and Q are all positive integers; The number of row pixels of the first image is M, the number of column pixels is N, M>N, and M is a positive integer; the number of row pixels of the second image is P and the number of column pixels is Q, where Q≧M; the first processing includes segmenting the first stitched image to obtain the second image and the third image; the first processing further includes rotating the third image, or the first processing further includes rotating and unpadding the third image; The second processing unit Segmenting the first stitched image to obtain the second image and the third image; unpadding the third image to obtain a fourth image; Rotating the fourth image to obtain the first image further configured as follows: The second processing unit is further particularly configured to unpadding the third image to obtain the fourth image, The second processing unit is specifically configured to perform unpadding from a first target position of the third image to obtain the fourth image, and the first target position includes at least one of an upper position, a lower position, or a middle position. Including, Image processing device.
7. The second processing unit To obtain the first image, rotate the fourth image by (-90°-180°×n), where n is an integer.
7. The device of claim 6, further specifically configured to:
8. the apparatus further comprises a first transmitting unit, a second transmitting unit, a first port, and a second port; the first transmitting unit is configured to transmit the second image through the first port; the second transmitting unit is configured to transmit the first image through the second port; 8. The device according to claim 6 or 7.
9. 9. The device according to claim 6, wherein the second processing unit comprises a Field Programmable Gate Array FPGA unit and / or a serializer Ser.
10. 1. A method for image processing, the method comprising: obtaining a first stitching image based on the first image and the second image; transmitting the first stitched image; Including, the number of row pixels of the first image is M and the number of column pixels is N, M>N, and both M and N are positive integers; the number of row pixels of the second image is P and the number of column pixels is Q, where Q≧M, and both P and Q are positive integers; The number of row pixels of the first stitching image is N+P, and the number of column pixels is Q; the first stitching image includes the second image and a third image, and the third image is an image obtained through a first pre-processing of the first image, wherein the first pre-processing includes a step of rotating the first image, or the first pre-processing includes a step of rotating and padding the first image; The step of obtaining a first stitching image based on the first image and the second image includes: rotating the first image to obtain a fourth image; performing pixel padding on the fourth image to obtain the third image; stitching the third image and the second image to obtain the first stitched image; Including, performing pixel padding on the fourth image to obtain the third image, performing pixel padding from a first target location of the fourth image to obtain the third image, the first target location comprising at least one of a top location, a bottom location, or a middle location; Including, Image processing methods.
11. The step of rotating the first image to obtain a fourth image includes: rotating the first image by (90° + 180° × n), where n is an integer, to obtain the fourth image.
11. The method of claim 10, comprising:
12. 1. A method for image processing, the method comprising: obtaining a first stitching image; performing a first processing on the first stitched image to obtain a first image and a second image; Including, The number of row pixels of the first stitching image is N+P, and the number of column pixels is Q, and the first stitching image includes the second image and the third image, where N, P, and Q are all positive integers; The number of row pixels of the first image is M, the number of column pixels is N, M>N, and M is a positive integer; the number of row pixels of the second image is P and the number of column pixels is Q, where Q≧M; The first processing includes segmenting the first stitched image to obtain the second image and the third image. the first processing further comprises rotating the third image, or the first processing further comprises rotating and unpadding the third image; The step of performing a first processing on the first stitched image to obtain a first image and a second image includes: Segmenting the first stitched image to obtain the second image and the third image; unpadding the third image to obtain a fourth image; rotating the fourth image to obtain the first image; Including, unpadding the third image to obtain a fourth image; performing unpadding from a first target position of the third image to obtain the fourth image, the first target position including at least one of a top position, a bottom position, or a middle position; Including, Image processing methods.
13. The step of rotating the fourth image to obtain the first image comprises: rotating the fourth image by (-90°-180°×n) to obtain the first image, where n is an integer.
13. The method of claim 12, comprising:
14. The method comprises: transmitting the second image through a first port; transmitting the first image through a second port; 14. The method of claim 12 or 13, further comprising:
15. A cockpit domain controller CDC, the device including an image processing device described in any one of claims 1 to 5 and an image processing device described in any one of claims 6 to 9.
16. A mobile data center MDC, the device including an image processing device described in any one of claims 1 to 5 and an image processing device described in any one of claims 6 to 9.
17. 15. A computer-readable storage medium storing a computer program or instructions, the computer program or instructions being executed to enable a computer to perform the method of any one of claims 10 to 14.
Citation Information
Patent Citations
Video coding / decoding method and device thereof
CN101291436A
Facsimile equipment
JP1994268845A
Driving multiple display devices with a single display port
US20180260184A1