Image processing apparatus and method
The image processing apparatus optimizes image transmission by aligning pixel counts through rotation and padding, addressing inefficiencies in multi-screen displays and enhancing transmission efficiency.
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-04
- Estimated Expiration
- 2041-09-26
AI Technical Summary
Existing image transmission systems in multi-screen displays face inefficiencies due to excessive padding pixels, which occupy transmission bandwidth and reduce image transmission efficiency.
An image processing apparatus and method that reduces padding pixels by rotating and/or padding images to align pixel counts, allowing for efficient horizontal stitching and real-time transmission without additional processing complexity.
Improves image transmission efficiency by minimizing padding pixels, enabling quick and efficient transfer of images across different display devices with reduced 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 an image processing apparatus and method.
Background Art
[0002] Displays play an important role as the main interface for human-computer interaction in the context of intelligentization. Multi-screen displays have become a new trend in cockpit displays following large-screen displays, and single-core multi-screen displays have become the focus for vehicle factories and cockpit system integrators. In a multi-screen display, the functions of the conventional central display screen are separated. As a result, navigation information, multimedia information, etc. are displayed on one screen, and vehicle information such as seats, air conditioners, and advanced driving assistance systems (ADAS) is displayed on another one or two screens. This reduces the menu level of system applications and simplifies user operations.
[0003] For example, a cockpit domain controller (CDC) transmits images to a display device for display via a cable by using serializer / deserializer (SerDes) technology. The CDC includes a system on a chip (SoC) and a serializer, and 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 images to a serializer via a mobile industry processor interface (MIPI), an open lvds display interface (oLDI), a Display port (DP), a cable on the printed circuit board (printed circuit board) of the SoC, and the like. The Ser transmits the images to the deserializer (Des) of different display devices via different ports, and then the Des 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 the pin and interface limitations between the SoC and the Ser, multiple images cannot be distinguished in the interface layer. Therefore, the SoC needs to horizontally stitch the displayed image into a normal large image through specific processing and transmit the stitched image to the Ser. The Ser (which supports 1-to-2 segmentation, i.e., supports segmenting one image into two images) performs segmentation on the large image to obtain two images and separately transmits the images to the corresponding display device through two ports of the serializer for display. However, the display sizes of display devices are usually different. To facilitate stitching, the SoC needs to perform pixel padding on at least one of the two stitched target images to match the column specifications of the other image so that the number of column pixels of the two images is the same. Since the Ser and the 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, excessive padding pixels occupy the transmission bandwidth. This causes low image transmission efficiency. Summary of the Invention
[0005] This application provides an image processing apparatus and method for reducing the number of padding pixels and improving image transmission efficiency. Means for Solving the Problems
[0006] According to a first aspect, an image processing apparatus is provided, the apparatus including a first processing unit configured to acquire a first stitching image based on a first image and a second image, and a transmission unit configured to transmit the first stitching image, wherein 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 stitching image is N + P, 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 preprocessing of the first image, and the first preprocessing includes rotating the first image or includes rotating the first image and padding it.
[0007] For example, the first processing unit includes a SoC.
[0008] For example, the image processing apparatus is a domain controller or another apparatus having an image processing function, such as a CDC or a mobile data center (MDC).
[0009] It should be understood that in the embodiments of the present application, the number of row pixels is the number of pixels in each row, and the number of column pixels is the number of pixels in each column.
[0010] In the aforementioned image processing apparatus, in order for the first processing unit to obtain a third image, the first image with a horizontal pixel number of M and a vertical pixel number of N is first rotated, or the first image with a horizontal pixel number of M and a vertical pixel number of N is rotated and padded. Next, the first processing unit obtains a first stitching image with a horizontal pixel number of N + P and a vertical pixel number of Q based on the third image and the second image with a horizontal pixel number of P and a vertical pixel number of Q. Therefore, the number of padded pixels in the first stitching image is N×(Q - M). However, according to the existing solution, the first image and the second image are stitched, and the number of padded pixels included in the obtained stitching image is M×(Q - N). Since Q≧M>N, the number of padded pixels included in the first stitching image obtained by the first processing unit is less than the number of padded pixels included in the stitching image obtained in the existing solution. Therefore, when the transmission unit transmits the first stitching image obtained by the first processing unit, the padded pixels occupy a small amount of transmission bandwidth, so the transmission efficiency of the first stitching image is improved.
[0011] In relation to the first aspect, in some implementation forms of the first aspect, the first processing unit being configured to obtain a first stitching image based on the first image and the second image includes that the first processing unit is particularly configured to rotate the first image in order to obtain a third image and stitch the third image and the second image in order to obtain the first stitching image.
[0012] For example, rotating the first image may be rotating the first image by (90° + 180°×n) in order to obtain a third image, where n is an integer.
[0013] For example, stitching the third image and the second image may be to horizontally stitch the third image and the second image. Horizontal stitching can be understood as performing row pixel stitching on the two images.
[0014] For example, when Q = M, the first processing unit rotates the first image, which has M row pixels and N column pixels, by (90° + 180°×n) to obtain a third image, which has N row pixels and M column pixels. In addition, to obtain a first stitching image, which has N + P row pixels and Q column pixels, the third image, which has N row pixels and M column pixels, and the third image, which has P row pixels and Q column pixels, are horizontally stitched. The column pixel numbers of the third image and the second image in the obtained first stitching image are the same, and the second image is not processed in the process of obtaining the first stitching image. Therefore, in one aspect, compared with the 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 stitching image includes a complete row of pixels of the second image. A device that receives the first 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 first stitching image. As a result, the second image can be transferred quickly in real time.
[0015] In connection with the first aspect, in some other implementations of the first aspect, the first processing unit is specifically 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 stitching image.
[0016] For example, rotating the first image may be to rotate the first image by (90° + 180°×n) to obtain a fourth image, where n is an integer.
[0017] For example, performing pixel padding on the fourth image may be to perform column pixel padding on the fourth image, thereby increasing the number of column pixels of the fourth image.
[0018] For example, stitching the third image and the second image may be to stitch the third image and the second image horizontally.
[0019] For example, first, the first processing unit rotates the first image with M row pixels and N column pixels by (90° + 180°×n) to obtain a fourth image with N row pixels and M column pixels. Second, the first processing unit performs column pixel padding on the fourth image, as a result, the number of pixels in each column of the fourth image increases from M to Q, the number of pixels in each row remains unchanged and is still N, and a third image is obtained. In this case, the number of padding pixels is N×(Q - M), 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 with N row pixels and Q column pixels and the second image with P row pixels and Q column pixels to obtain a first stitched image with (N + P) row pixels and Q column pixels. The number of column pixels of the third image and the second image in the obtained first stitched image is the same, and the second image is not processed in the process of obtaining the first stitched image. Therefore, in one aspect, compared with the existing solution, 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. The 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 only by performing simple segmentation on the first stitched image. As a result, the second image can be transferred quickly in real time.
[0020] In connection with the first aspect, in some other implementations of the first aspect, the first processing unit is specifically configured to perform pixel padding on a fourth image in order to obtain a third image, which includes that the first processing unit is specifically configured to perform pixel padding from a first target position of the fourth image in order to obtain a third image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0021] In connection with the first aspect, in some other implementations of the first aspect, the first processing unit is specifically configured to perform pixel padding on a first image in order to obtain a fifth image, rotate the fifth image in order to obtain a third image, and stitch the third image and the second image in order to obtain a first stitching image.
[0022] For example, performing pixel padding on the first image can be performing horizontal pixel padding on the first image, thereby increasing the number of horizontal pixels of the first image.
[0023] For example, rotating the fifth image can be rotating the first image by (90° + 180°×n) in order to obtain the fifth image, where n is an integer.
[0024] For example, stitching the third image and the second image can 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 with M row pixels and N column pixels. As a result, 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, and a fifth image is obtained. In this case, the padding pixel number is (Q - M) × N, the row pixel number of the fifth image is Q, and the column pixel number is N. Second, the first processing unit rotates the fifth image with Q row pixels and N column pixels by (90° + 180° × n) to obtain a third image with N row pixels and Q column pixels. Finally, the first processing unit horizontally stitches the third image with N row pixels and Q column pixels and a second image with P row pixels and Q column pixels to obtain a first stitching image with (N + P) row pixels and Q column pixels. The column pixel numbers of the third image and the second image in the obtained first stitching image are the same, and the second image is not processed in the process of obtaining the first stitching image. Therefore, in one aspect, compared with the 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 stitching image includes a complete row of pixels of the second image. In this way, the device receiving the first 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 first stitching image. As a result, the second image can be transferred quickly in real time.
[0026] In connection with the first aspect, in some other implementation forms of the first aspect, the fact that the first processing unit is particularly configured to perform pixel padding on the first image to obtain the fifth image includes that the first processing unit performs pixel padding from a second target position of the first image to obtain the fifth image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0027] In connection with the first aspect, in some other implementation forms of the first aspect, the first processing unit is particularly configured to rotate the first image in order to obtain a fourth image, and to stitch the fourth image and the second image in order to obtain a second stitched image, and to perform pixel padding on the second stitched image in order to obtain a first stitched image.
[0028] For example, rotating the first image may be rotating the first image by (90° + 180°×n) in order to obtain a fourth image, where n is an integer.
[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 stitched image may be performing column pixel padding on the fourth image within the second stitched image, thereby increasing the number of column pixels of the fourth image so that the second stitched image becomes a regular image.
[0031] In the embodiments of the present application, a regular image can be understood as an image 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 also the same. The number of row pixels may be the same as or different from the number of column pixels.
[0032] In the embodiments of the present application, an irregular image can be understood as an image 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 a first image having a row pixel number of M and a column pixel number of N by (90° + 180°×n) in order to obtain a fourth image having a row pixel number of N and a column pixel number of M. Second, the first processing unit horizontally stitches the fourth image having a row pixel number of N and a column pixel number of M and a second image having a row pixel number of P and a column pixel number of Q in order to obtain a second stitching image. In this case, the second stitching image is an irregular image, and the number of pixels (M) in at least one column of the second stitching 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 stitching image in which the column pixel number is less than Q (that is, columns corresponding to the fourth image), so that the number of pixels in each column of the fourth image increases from M to Q in order to obtain a normal first stitching image. In this case, the padding pixel number is N×(Q - M), the row pixel number of the first stitching image is N + P, and the column pixel number is Q. The column pixel numbers of the third image and the second image in the obtained first stitching image are the same, and the second image is not processed in the process of obtaining the first stitching image. Therefore, in one aspect, compared with the existing solution, the complexity of processing the second image by the first processing unit is not further increased. In another aspect, each row of the first stitching image includes a complete row of pixels of the second image. A device that receives the first 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 first stitching image. As a result, the second image can be transferred quickly in real time.
[0034] In connection with 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 second stitching image in order to obtain the first stitching image, which includes that the first processing unit is particularly configured to perform pixel padding from the first target position of the fourth image in the second stitching image in order to obtain the first stitching image, and the first target position includes an upper position, a lower position, or a middle position.
[0035] In connection with the first aspect, in some implementation forms of the first aspect, the transmission unit is particularly configured to transmit the first stitching image to the second processing unit or the transmission unit.
[0036] For example, the image processing apparatus may further include a first interface, and the transmission unit transmits the first stitching image to the second processing unit or the transmission unit via 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, an image processing apparatus is provided, the apparatus including an acquisition unit configured to acquire a first stitching image, and a second processing unit configured to perform a first process on the first stitching image in order to acquire a first image and a second image. 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. 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 process includes segmenting the first stitching image in order to acquire the second image and the third image. The first process further includes rotating the third image, or the first process further includes rotating the third image and then unpaddling it.
[0038] For example, the second processing unit includes a field programmable gate array (FPGA) unit and / or Ser.
[0039] In the image processing apparatus, first, the acquisition unit acquires a first stitching image having N+P horizontal pixels and Q vertical pixels. The first stitching image includes a second image having P horizontal pixels and Q vertical pixels and a third image. Second, the second processing unit segments the first stitching image to acquire the second image and the third image, rotates the third image to acquire the first image, or rotates and unpads the third image to acquire the first image. The image processing apparatus does not need to process the second image in the process of processing the first stitching image. In one aspect, compared with existing solutions, the complexity of processing the second image by the image processing apparatus is not further increased. In another aspect, each row of the first stitching image includes a complete row of pixels of the second image. The image processing apparatus 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 first stitching image. As a result, the second image can be transferred quickly in real time. Also, since the existing image processing apparatus is not provided with the second processing unit, the existing image processing apparatus does not have an unpadding function. Therefore, the image transmitted by the existing image processing apparatus includes padding pixels. However, in this embodiment of the present application, the second processing unit is arranged in the aforementioned image processing apparatus so that the second processing unit can unpaddle the third image to acquire the first image. In this way, neither the acquired first image nor the second image includes padding pixels. 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 corresponding to the first image and the second image (referring to the number of image pixels transmitted per second) are small. As a result, the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0040] In connection with the second aspect, in some implementation forms of the second aspect, the second processing unit is particularly configured to segment the first stitching image in order to obtain the second image and the third image, and to rotate the third image in order to obtain the first image.
[0041] For example, segmenting the first stitching image may be segmenting the first stitching image horizontally. Segmenting in the horizontal direction can be understood as performing row pixel segmentation on the image in order to obtain a plurality of images.
[0042] For example, rotating the third image may be rotating the third image by (-90° - 180°×n) in order to obtain the first image, where n is an integer.
[0043] For example, in order to obtain a second image with P row pixels and Q column pixels and a third image with N row pixels and Q column pixels, the second processing unit horizontally segments a first stitching image with N + P row pixels and Q column pixels. In addition, in order to obtain a first image with Q row pixels and N column pixels, the second processing unit rotates a third image with N row pixels and Q column pixels by (-90° - 180°×n).
[0044] In connection with the second aspect, in some other implementation forms of the second aspect, the second processing unit is particularly configured to segment the first stitching image in order to obtain the second image and the third image, to rotate the third image in order to obtain a fifth image, and to perform padding removal on the fifth image in order 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 to rotate the third image by (-90° - 180°×n) to obtain the fifth image, where n is an integer.
[0047] For example, unpaddling the fifth image may be to perform row unpaddling on the fifth image, thereby reducing the number of row pixels of the fifth image.
[0048] For example, first, the second processing unit horizontally segments a first stitching image with a row pixel number of N + P and a column pixel number of Q to obtain a second image with a row pixel number of P and a column pixel number of Q and a third image with a row pixel number of N and a column pixel number of Q. Second, the second processing unit rotates the third image with a row pixel number of N and a column pixel number of Q by (-90° - 180°×n) to obtain a fifth image with a row pixel number of Q and a column pixel number of N. Finally, the second processing unit performs row unpaddling on the fifth image with a row pixel number of Q and a column pixel number of N, as a result, the number of pixels in each row of the fifth image is reduced from Q to M, the number of pixels in each column remains unchanged and is still N, and a first image is obtained. In this case, the number of unpadded pixels is (Q - M)×N, the row pixel number of the first image is M, and the column pixel number is N.
[0049] In connection with the second aspect, in some other implementations of the second aspect, the second processing unit being specifically configured to unpaddle the fifth image to obtain the first image includes that the second processing unit performs unpaddling from a second target position of the fifth image to obtain the first image, and the second target position is specifically configured to include at least one of a left position, a right position, or a middle position.
[0050] In connection with the second aspect, in some other implementation forms of the second aspect, the second processing unit is further particularly configured to segment the first stitching image to obtain the second image and the third image, to unpaddle the third image to obtain the fourth image, and to rotate the fourth image to obtain the first image.
[0051] For example, segmenting the first stitching image may be to segment the first stitching image horizontally.
[0052] For example, unpaddling the third image may be to perform column unpaddling on the third image, thereby reducing the number of column pixels of the third image.
[0053] For example, rotating the fourth image may be to rotate the fourth image by (-90° - 180°×n) to obtain the first image, where n is an integer.
[0054] For example, first, to obtain a second image with a row pixel number of P and a column pixel number of Q and a third image with a row pixel number of N and a column pixel number of Q, the second processing unit horizontally segments a first stitching image with a row pixel number of N + P and a column pixel number of Q. Second, the second processing unit performs column unpaddling on the third image with a row pixel number of N and a column pixel number 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 the fourth image. In this case, the unpadded pixel number is N×(Q - M), the row pixel number of the fourth image is N, and the column pixel number is M. Finally, the second processing unit rotates the fourth image with a row pixel number of N and a column pixel number of M by (-90° - 180°×n) to obtain the first image with a row pixel number of M and a column pixel number of N.
[0055] In connection with the second aspect, in some other implementation forms of the second aspect, the second processing unit is further particularly configured to unpaddle the third image in order to obtain the fourth image, which includes that the second processing unit is particularly configured to perform unpaddling from the first target position of the third image in order to obtain the fourth image, and the first target position includes at least one of the upper position, the lower position, or the middle position.
[0056] In connection with the second aspect, in some implementation forms of the second aspect, the apparatus further includes a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit the second image via the first port, and the second transmission unit is configured to transmit the first image via the second port.
[0057] According to a third aspect, an image processing apparatus is provided. The apparatus includes an acquisition unit configured to acquire a first stitching image, and a second processing unit configured to perform a second process on the first stitching image in order to acquire a first image and a second image. 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 the third image. 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 second process includes unpaddling the first stitching image in order to obtain a second stitching image, and further includes rotating and segmenting the second stitching image in order 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 an image processing apparatus, first, an acquisition unit acquires a first stitching image having N + P row pixels and Q column pixels, and the first stitching image includes a second image having P row pixels and Q column pixels and a third image. Second, a second processing unit unpads the first stitching image to acquire a second stitching image, and rotates and segments the second stitching image to acquire the first image and the second image. The image processing apparatus does not need to process the second image in the process of processing the first stitching image. In one aspect, compared with existing solutions, the complexity of processing the second image by the image processing apparatus is not further increased. In another aspect, each row of the first stitching image includes a complete row of pixels of the second image. The image processing apparatus 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 first stitching image, and as a result, the second image can be transferred quickly in real time. Also, since an existing image processing apparatus is not provided with a second processing unit, the existing image processing apparatus does not have an unpadding function. Therefore, the image transmitted by the existing image processing apparatus includes padding pixels. However, in this embodiment of the present application, the second processing unit is arranged in the aforementioned image processing apparatus, and as a result, the second processing unit can unpaddle the first stitching image to acquire the second stitching image. In this way, neither the finally acquired first image nor the second image includes padding pixels. 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 corresponding to the first image and the second image are small, and as a result, the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0060] In relation to the third aspect, in some implementation forms of the third aspect, the second processing unit is particularly configured to unpaddle the first stitching image in order to obtain the second stitching image, segment the second stitching image in order to obtain the second image and the fourth image, and rotate the fourth image in order to obtain the first image.
[0061] For example, unpaddling the first stitching image may be to perform column unpaddling on the third image within the first stitching image, thereby reducing the number of column pixels of the third image, and as a result, the first stitching image may be converted into an irregular image (i.e., the second stitching image). Segmenting horizontally can be understood as performing row pixel segmentation on the image in order to obtain a plurality of images.
[0062] For example, segmenting the second stitching image may be to segment the second stitching image horizontally. Segmenting horizontally can be understood as performing row pixel segmentation on the image in order to obtain a plurality of images.
[0063] For example, rotating the fourth image may be to rotate the fourth image by (-90° - 180°×n) in order to obtain the first image, where n is an integer.
[0064] For example, first, the second processing unit performs column padding removal on a third image in a first stitching image with N+P row pixels and Q column pixels. As a result, the number of pixels in each column of the third image is reduced from Q to M, the number of pixels in each row remains unchanged and is still N, and a second stitching image is obtained. In this case, the second stitching image is an irregular image, the number of pixels (M) in at least one column of the second stitching image is different from the number of pixels (Q) in another row, and the second stitching image includes a second image with P row pixels and Q column pixels and a fourth image with N row pixels and M column pixels. Second, the second processing unit horizontally segments the second stitching image to obtain the second image with P row pixels and Q column pixels and the fourth image with N row pixels and M column pixels. 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 fact that the second processing unit is particularly configured to perform padding removal on the first stitching image to obtain the second stitching image includes that the second processing unit performs padding removal from a first target position of the third image in the first stitching image to obtain the second stitching image, and the first target position is particularly configured to include 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 transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit the second image through the first port, and the second transmission unit is configured to transmit the first image through the second port.
[0067] According to a fourth aspect, an image processing apparatus is provided, the apparatus including an acquisition unit configured to acquire a third image, and a third processing unit configured to perform a second preprocessing on the third image to acquire a first image, where the second preprocessing includes rotating the third image, or the second preprocessing includes rotating the third image and then removing padding.
[0068] For example, the third processing unit includes an FPGA unit and / or a Des.
[0069] In the above-described image processing apparatus, the acquisition unit acquires the third image, and the third processing unit rotates the third image to acquire the first image, or rotates the third image and then removes padding to acquire the first image. Since an existing image processing apparatus does not have a third processing unit, the existing image processing apparatus does not have a padding removal function. Therefore, an image transmitted by the existing image processing apparatus includes padding pixels. However, in this embodiment of the present application, the third processing unit is arranged in the above-described image processing apparatus so that the third processing unit can remove padding from the third image to acquire the first image. In this way, the acquired first image does not include padding pixels. In a subsequent process of transmitting the first image, in one aspect, the padding pixels do not occupy the transmission bandwidth. Thereby, the transmission efficiency of the first image is improved. In another aspect, the first image does not include padding pixels, and the pixel clock corresponding to the first image is small. As a result, the requirements for the interface on the device receiving the first image can be reduced.
[0070] In connection with the fourth aspect, in some implementation forms of the fourth aspect, the third processing unit is particularly configured to rotate the third image to acquire the first image.
[0071] For example, rotating the third image may be rotating the third image by (-90° - 180°×n) to acquire the first image, where n is an integer.
[0072] For example, in order for the third processing unit to obtain a first image with M row pixels and N column pixels, the third image with N row pixels and M column pixels is rotated by (-90° - 180° × n), where n is an integer.
[0073] In relation to the fourth aspect, in some other implementations of the fourth aspect, the third processing unit is specifically configured to rotate the third image to obtain a fifth image and to unpad 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) to obtain the fifth image, where n is an integer.
[0075] For example, unpadding the fifth image may be performing row unpadding on the fifth image, thereby reducing the number of row pixels of the fifth image.
[0076] For example, in order to obtain a fifth image with a row pixel number of Q and a column pixel number of N, the third processing unit rotates a third image with a row pixel number of N and a column pixel number of Q by (-90° - 180°×n). In addition, the third processing unit performs row padding removal on the fifth image with a row pixel number of Q and a column pixel number of N. As a result, the number of pixels in each row of the fifth image is reduced from Q to M, the number of pixels in each column remains unchanged and is still N, and the first image is obtained. In this case, the number of padded pixels removed is (Q - M)×N, the row pixel number of the first image is M, and the column pixel number is N. In relation to the fourth aspect, in some other implementation forms of the fourth aspect, the fact that the third processing unit is particularly configured to perform padding removal on the fifth image in order to obtain the first image means that the third processing unit is particularly configured to perform padding removal from the second target position of the fifth image in order 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 some other implementation forms of the fourth aspect, the third processing unit is particularly configured to perform padding removal on the third image in order to obtain the fourth image and to rotate the fourth image in order to obtain the first image.
[0078] For example, performing padding removal on the third image may be to perform column padding removal on the third image, thereby reducing the column pixel number of the third image.
[0079] For example, rotating the fourth image may be to rotate the fourth image by (-90° - 180°×n) in order to obtain the first image, where n is an integer.
[0080] For example, the third processing unit performs column padding removal on a third image with N row pixels and Q column pixels. As a result, 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, and a fourth image is obtained. In this case, the number of unpadded pixels is N×(Q - M), 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 with N row pixels and M column pixels by (-90° - 180°×n) in order to obtain a first image with M row pixels and N column pixels.
[0081] In relation to the fourth aspect, in still some other implementation forms of the fourth aspect, the fact that the third processing unit is specifically configured to unpaddle the third image in order to obtain the fourth image means that the third processing unit is specifically configured to perform unpaddling from a first target position of the third image in order to obtain the fourth image, and the first target position includes at least one of the upper position, the lower position, or the middle position.
[0082] In relation to the fourth aspect, in some implementation forms of the fourth aspect, the apparatus further includes a transmission unit configured to transmit the first image.
[0083] For example, the image processing apparatus further includes a second interface, and the transmission unit may transmit the first image via the second interface. For example, the second interface includes, but is not limited to, MIPI, oLDI, or DP.
[0084] According to the fifth aspect, an image processing apparatus is provided, the apparatus including an acquisition unit configured to acquire a fifth image, and a third processing unit configured to unpaddle the fifth image in order to acquire the first image.
[0085] For example, the third processing unit includes an FPGA unit and / or Des.
[0086] In the above-described image processing apparatus, the acquisition unit acquires a fifth image, and the third processing unit unpads the fifth image in order to acquire a first image. Since the existing image processing apparatus does not have the third processing unit, the existing image processing apparatus does not have an unpadding function. Therefore, the image transmitted by the existing image processing apparatus includes padding pixels. However, in this embodiment of the present application, the third processing unit is arranged in the image processing apparatus so that the third processing unit can unpaddle the fifth image in order to acquire the first image. In this way, the acquired first image does not include padding pixels. In a subsequent process of transmitting the first image, in one aspect, the padding pixels do not occupy the transmission bandwidth. Thereby, the transmission efficiency of the first image is improved. In another aspect, the first image does not include padding pixels, and the pixel clock corresponding to the first image is small. As a result, the requirements for the interface on the device that receives the first image can be reduced.
[0087] In connection with the fifth aspect, in some implementation forms of the fifth aspect, the fact that the third processing unit is configured to unpaddle the fifth image in order to acquire the first image includes that the third processing unit performs unpaddling from a second target position of the fifth image in order to acquire the first image, and the second target position is specifically configured to include at least one of a left position, a right position, or a middle position.
[0088] In connection with the fifth aspect, in some implementation forms of the fifth aspect, the apparatus further includes a transmission unit configured to transmit the first image.
[0089] According to a sixth aspect, an image processing apparatus is provided, the apparatus including an acquisition unit configured to acquire a fourth image, and a third processing unit configured to rotate the fourth image in order 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 to rotate the fourth image by (-90° - 180°×n) to obtain the first image, where n is an integer.
[0092] For example, the third processing unit rotates the fourth image, which has N row pixels and M column pixels, by (-90° - 180°×n) to obtain the first image, which has M row pixels and N column pixels.
[0093] In relation to the sixth aspect, in some implementations of the sixth aspect, the apparatus further includes a transmission unit configured to transmit the first image.
[0094] For example, the image processing apparatus further includes a second interface, and the transmission unit may transmit the first image via the second interface. For example, the second interface includes, but is not limited to, MIPI, oLDI, or DP.
[0095] According to a seventh aspect, an apparatus is provided, the apparatus including: a first processing unit configured to obtain a first stitching image based on a first image and a second image; a transmitting unit configured to transmit the first stitching image; an obtaining unit configured to obtain the first stitching image; and a second processing unit configured to perform a first process on the first stitching 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 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 through a first preprocessing of the first image. The first preprocessing includes rotating the first image or includes rotating the first image and padding. The first process includes segmenting the first stitching image to obtain the second image and the third image, and further includes rotating the third image or further includes rotating the third image and unpadding.
[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 apparatus is a domain controller, such as a cockpit domain controller CDC or MDC.
[0099] In the aforementioned image processing apparatus, in order for the first processing unit to acquire the third image, it first rotates the first image with a horizontal pixel count of M and a vertical pixel count of N, or rotates and pads the first image with a horizontal pixel count of M and a vertical pixel count of N. Next, based on the third image and the second image with a horizontal pixel count of P and a vertical pixel count of Q, the first stitching image with a horizontal pixel count of N + P and a vertical pixel count of Q is acquired. Therefore, the number of padded pixels in the first stitching image is N×(Q - M). However, according to the existing solution, the first image and the second image are stitched, and the number of padded pixels included in the acquired stitching image is M×(Q - N). Since Q≧M>N, the number of padded pixels included in the first stitching image acquired by the first processing unit is less than the number of padded pixels included in the stitching image acquired by the existing solution. Therefore, when the transmission unit transmits the first stitching image acquired by the first processing unit, the padded pixels occupy a small amount of transmission bandwidth, so the transmission efficiency of the first stitching image is improved. In addition, for the second processing unit to acquire the second image and the third image, it segments the first stitching image, and to acquire the first image, it rotates the third image or rotates and unpads the third image to acquire the first image. The image processing apparatus does not need to process the second image in the process of processing the first stitching image. In one aspect, compared with the existing solution, the complexity of processing the second image by the image processing apparatus is not further increased. In another aspect, each row of the first stitching image includes a complete row of pixels of the second image. The image processing apparatus 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 first stitching image. As a result, the second image can be transferred quickly in real time. Also, since the existing image processing apparatus is not provided with the second processing unit, the existing image processing apparatus does not have an unpadding function.Therefore, the images transmitted by the existing image processing apparatus include padding pixels. However, in this embodiment of the present application, the second processing unit is arranged in the aforementioned image processing apparatus so that the third image can be depadded in order for the second processing unit to obtain the first image. In this way, neither the acquired first image nor the second image includes padding pixels. 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, the transmission efficiency of the first image and the second image is improved. In another aspect, neither the first image nor the second image includes padding pixels, and the pixel clock (referring to the number of image pixels transmitted per second) corresponding to the first image and the second image is small. As a result, the requirements for the interface on the device that receives the first image and the second image can be reduced.
[0100] In connection with the seventh aspect, in some implementation forms of the seventh aspect, the fact that the first processing unit is configured to obtain the first stitching image based on the first image and the second image includes that the first processing unit is particularly configured to rotate the first image in order to obtain the third image and to stitch the third image and the second image in order to obtain the first stitching image.
[0101] In connection with 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) in order to obtain the third image, where n is an integer.
[0102] In connection with the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit is particularly configured to rotate the first image in order to obtain the fourth image, to perform pixel padding on the fourth image in order to obtain the third image, and to stitch the third image and the second image in order to obtain the first stitching image.
[0103] In connection with 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 fourth image in order to obtain the third image, which includes that the first processing unit is particularly configured to perform pixel padding from a first target position of the fourth image in order 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.
[0104] In connection with 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 in order to obtain the fifth image, rotate the fifth image in order to obtain the third image, and stitch the third image and the second image in order to obtain the first stitching image.
[0105] In connection with 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 in order to obtain the fifth image, which includes that the first processing unit is particularly configured to perform pixel padding from a second target position of the first image in order to obtain the fifth image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0106] In connection with 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) in order to obtain the fifth image, where n is an integer.
[0107] In connection with the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit is particularly configured to rotate the first image in order to obtain the fourth image, stitch the fourth image and the second image in order to obtain the second stitching image, and perform pixel padding on the second stitching image in order to obtain the first stitching image.
[0108] In connection with the seventh aspect, in some other implementation forms of the seventh aspect, the first processing unit is specifically configured to perform pixel padding on the second stitching image in order to obtain the first stitching image, which includes that the first processing unit is specifically configured to perform pixel padding from the first target position of the fourth image in the second stitching image in order to obtain the first stitching image, and the first target position includes an upper position, a lower position, or an intermediate position.
[0109] In connection with the seventh aspect, in some implementation forms of the seventh aspect, the first processing unit is further specifically configured to rotate the first image by (90° + 180°×n) in order to obtain the fourth image, where n is an integer.
[0110] In connection with the seventh aspect, in some implementation forms of the seventh aspect, the transmission unit is specifically configured to transmit the first stitching image to the second processing unit or the transmission unit.
[0111] For example, the image processing apparatus may further include a first interface, and the transmission unit transmits the first stitching image to the second processing unit or the transmission unit via the first interface. For example, the first interface includes, but is not limited to, MIPI, oLDI, or DP.
[0112] In connection with the seventh aspect, in some implementation forms of the seventh aspect, the second processing unit is specifically configured to segment the first stitching image in order to obtain the second image and the third image, and is specifically configured to rotate the third image in order to obtain the first image.
[0113] In connection with 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, in order to obtain the first image.
[0114] In connection with the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit is particularly configured to segment the first stitching image in order to obtain the second and third images, rotate the third image in order to obtain the fifth image, and unpaddle the fifth image in order to obtain the first image.
[0115] In connection with the seventh aspect, in some other implementation forms of the seventh aspect, the fact that the second processing unit is particularly configured to unpaddle the fifth image in order to obtain the first image includes that the second processing unit performs unpaddling from the second target position of the fifth image in order to obtain the first image, and the second target position is particularly configured to include at least one of a left position, a right position, or a middle position.
[0116] In connection with 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, in order to obtain the fifth image.
[0117] In connection with the seventh aspect, in some further other implementation forms of the seventh aspect, the second processing unit is further particularly configured to segment the first stitching image in order to obtain the second and third images, unpaddle the third image in order to obtain the fourth image, and rotate the fourth image in order to obtain the first image.
[0118] In connection with the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit is further specifically configured to unpaddle the third image in order to obtain the fourth image, which includes that the second processing unit is specifically configured to perform unpaddling from the first target position of the third image in order to obtain the fourth image, and the first target position includes at least one of the upper position, the lower position, or the middle position.
[0119] In connection with the seventh aspect, in some other implementation forms of the seventh aspect, the second processing unit is further specifically configured to rotate the fourth image by (-90° - 180°×n) in order to obtain the first image, where n is an integer.
[0120] In connection with the seventh aspect, in some implementation forms of the seventh aspect, the apparatus further includes a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit the second image through the first port, and the second transmission unit is configured to transmit the first image through the second port.
[0121] According to an eighth aspect, an apparatus is provided, the apparatus including: a first processing unit configured to obtain a first stitching image based on a first image and a second image; a transmitting unit configured to transmit the first stitching image; an obtaining unit configured to obtain the first stitching image; and a second processing unit configured to perform a second process on the first stitching 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 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 through a first preprocessing of the first image. The first preprocessing includes rotating the first image, or the first preprocessing includes rotating the first image and padding it. The second process includes depadding the first stitching image to obtain a second stitching image, and further includes rotating and segmenting the second stitching image to obtain the first image and the second image.
[0122] For example, the first processing unit includes a SoC.
[0123] For example, the second processing unit includes an FPGA unit and / or a Ser.
[0124] For example, the apparatus is a domain controller, such as a CDC or an MDC.
[0125] In the aforementioned image processing apparatus, in order to acquire a third image, the first processing unit first rotates a first image having a horizontal pixel count of M and a vertical pixel count of N, or rotates and pads the first image having a horizontal pixel count of M and a vertical pixel count of N. Next, based on the third image and a second image having a horizontal pixel count of P and a vertical pixel count of Q, the first processing unit acquires a first stitching image having a horizontal pixel count of N + P and a vertical pixel count of Q. Therefore, the number of padded pixels in the first stitching image is N×(Q - M). However, according to the existing solution, the first image and the second image are stitched, and the number of padded pixels included in the acquired stitching image is M×(Q - N). Since Q ≧ M > N, the number of padded pixels included in the first stitching image acquired by the first processing unit is less than the number of padded pixels included in the stitching image acquired in the existing solution. Therefore, when the transmission unit transmits the first stitching image acquired by the first processing unit, the padded pixels occupy a small amount of transmission bandwidth, so the transmission efficiency of the first stitching image is improved. In addition, in order to acquire a second stitching image, the second processing unit unpads the first stitching image, and in order to acquire the first image and the second image, rotates and segments the second stitching image. The image processing apparatus does not need to process the second image in the process of processing the first stitching image. In this way, in one aspect, compared with the existing solution, the complexity of processing the second image by the image processing apparatus is not further increased. In another aspect, each row of the first stitching image includes a complete row of pixels of the second image. The image processing apparatus 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 first stitching image. As a result, the second image can be transferred quickly in real time. Also, since the existing image processing apparatus is not provided with the second processing unit, the existing image processing apparatus does not have an unpadding function.Therefore, the images transmitted by the existing image processing apparatus include padding pixels. However, in this embodiment of the present application, the second processing unit is arranged within the aforementioned image processing apparatus. As a result, the second processing unit can unpaddle the first stitching image in order to obtain the second stitching image. In this way, neither the finally obtained first image nor the second image includes padding pixels. 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, the transmission efficiency of the first image and the second image is improved. 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. As a result, the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0126] In connection with the eighth aspect, in some implementation forms of the eighth aspect, the fact that the first processing unit is configured to obtain the first stitching image based on the first image and the second image includes that the first processing unit is particularly configured to rotate the first image in order to obtain the third image and stitch the third image and the second image in order to obtain the first stitching image.
[0127] In connection with 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) in order to obtain the third image, where n is an integer.
[0128] In connection with the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit is particularly configured to rotate the first image in order to obtain the fourth image, perform pixel padding on the fourth image in order to obtain the third image, and stitch the third image and the second image in order to obtain the first stitching image.
[0129] In connection with 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 fourth image in order to obtain the third image, which includes that the first processing unit is particularly configured to perform pixel padding from the first target position of the fourth image in order to obtain the third image, and the first target position includes at least one of the upper position, the lower position, or the middle position.
[0130] In connection with 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 in order to obtain the fifth image, rotate the fifth image in order to obtain the third image, and stitch the third image and the second image in order to obtain the first stitching image.
[0131] In connection with 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 in order to obtain the fifth image, which includes that the first processing unit is particularly configured to perform pixel padding from the second target position of the first image in order to obtain the fifth image, and the second target position includes at least one of the left position, the right position, or the middle position.
[0132] In connection with 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) in order to obtain the fifth image, where n is an integer.
[0133] In connection with the eighth aspect, in some other implementation forms of the eighth aspect, the first processing unit is particularly configured to rotate the first image in order to obtain the fourth image, stitch the fourth image and the second image in order to obtain the second stitching image, and perform pixel padding on the second stitching image in order to obtain the first stitching image.
[0134] In relation to the eighth aspect, in yet some other implementation forms of the eighth aspect, the first processing unit is particularly configured to perform pixel padding on the second stitching image in order to obtain the first stitching image, which includes that the first processing unit is particularly configured to perform pixel padding from a first target position of a fourth image in the second stitching image in order to obtain the first stitching image, and the first target position includes an upper position, a lower position, or an intermediate 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) in order to obtain the fourth image, where n is an integer.
[0136] In relation to the eighth aspect, in some implementation forms of the eighth aspect, the transmission unit is particularly configured to transmit the first stitching image to the second processing unit or the transmission unit.
[0137] For example, the image processing apparatus may further include a first interface, and the transmission unit transmits the first stitching image to the second processing unit or the transmission unit via 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 unpaddle the first stitching image in order to obtain the second stitching image, segment the second stitching image in order to obtain the second image and the fourth image, and rotate the fourth image in order to obtain the first image.
[0139] In connection with the eighth aspect, in some implementation forms of the eighth aspect, the second processing unit is specifically configured to unpaddle the first stitching image in order to obtain the second stitching image, which includes that the second processing unit is specifically configured to perform unpaddling from the first target position of the third image in the first stitching image in order to obtain the second stitching image, and the first target position includes at least one of the upper position, the lower position, or the middle position.
[0140] In connection with the eighth aspect, in some implementation forms of the eighth aspect, the second processing unit is further specifically configured to rotate the fourth image by (-90° - 180°×n) in order to obtain the first image, where n is an integer.
[0141] In connection with the eighth aspect, in some implementation forms of the eighth aspect, the apparatus further includes a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit the second image through the first port, and the second transmission unit is configured to transmit the first image through the second port.
[0142] According to the ninth aspect, an image processing method is provided. The method includes obtaining a first stitching image based on a first image and a second image, and transmitting the first stitching image. The number of row pixels of the first image is M, the number of column pixels is N, M > N, both M and N are positive integers. The number of pixels of the second image is P, the number of column pixels is Q, Q ≥ M, both P and Q are positive integers. The number of pixels of the first stitching image is N + P, 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 preprocessing of the first image. The first preprocessing includes rotating the first image, or the first preprocessing includes rotating the first image and paddling.
[0143] For example, the method may be applied to a SoC.
[0144] In the above-described technical solution, first, in order to obtain a third image, a first image with a horizontal pixel number of M and a vertical pixel number of N is rotated, or a first image with a horizontal pixel number of M and a vertical pixel number of N is rotated and padded. Then, a first stitching image with a horizontal pixel number of N + P and a vertical pixel number of Q is obtained based on the third image and a second image with a horizontal pixel number of P and a vertical pixel number of Q. Therefore, the number of padded pixels in the first stitching image is N×(Q - M). However, according to the existing solution, the first image and the second image are stitched, and the number of padded pixels included in the obtained stitching image is M×(Q - N). Since Q≧M>N, the number of padded pixels included in the obtained first stitching image is less than the number of padded pixels included in the stitching image obtained in the existing solution. Therefore, in the process of transmitting the first stitching image, since the padded pixels occupy a small amount of transmission bandwidth, the transmission efficiency of the first stitching image is improved.
[0145] In relation to the ninth aspect, in some implementation forms of the ninth aspect, obtaining a first stitching image based on the first image and the 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 stitching image.
[0146] In relation to the ninth aspect, in some implementation forms of the ninth aspect, rotating the first image to obtain a third image includes rotating the first image by (90° + 180°×n), where n is an integer.
[0147] In connection with the ninth aspect, in some other implementation forms of the ninth aspect, obtaining the 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 a third image, and stitching the third image and the second image to obtain the first stitching image.
[0148] In connection with 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, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0149] In connection with the ninth aspect, in still some other implementation forms of the ninth aspect, obtaining the first stitching 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 the third image, and stitching the third image and the second image to obtain the first stitching image.
[0150] In connection with the ninth aspect, in still 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, and the second target position includes at least one of a left position, a right position, or a middle position.
[0151] In connection with the ninth aspect, in still 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), where n is an integer.
[0152] In connection with the ninth aspect, in some other implementation forms of the ninth aspect, obtaining the first stitching 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 stitching image, and performing pixel padding on the second stitching image to obtain the first stitching image.
[0153] In connection with the ninth aspect, in some other implementation forms of the ninth aspect, performing pixel padding on the second stitching image to obtain the first stitching image includes performing pixel padding from a first target position of the fourth image in the second stitching image, and the first target position includes an upper position, a lower position, or a middle position.
[0154] In connection with 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), where n is an integer.
[0155] According to the tenth aspect, an image processing method is provided. The method includes obtaining a first stitching image and performing a first process on the first stitching image to obtain a first image and a second image. 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. 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, the number of column pixels is Q, and Q ≥ M. The first process includes segmenting the first stitching image to obtain the second image and the third image. The first process further includes rotating the third image, or the first process further includes rotating the third image and then removing padding.
[0156] For example, the method may be applied to an FPGA unit and / or a Ser.
[0157] In the foregoing technical solution, a first stitching image with a row pixel number of N + P and a column pixel number of Q is obtained. The first stitching image includes a second image with a row pixel number of P and a column pixel number of Q and a third image. Second, the first stitching image is segmented to obtain the second image and the 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 stitching image. In this way, in one aspect, compared with the existing solutions, the complexity of processing the second image is not further increased. In another aspect, each row of the first stitching 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 only by performing simple segmentation on the first stitching image. As a result, the second image can be transferred quickly 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. 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 corresponding to the first image and the second image (referring to the number of image pixels transmitted per second) are small. As a result, the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0158] In connection with the tenth aspect, in some implementation forms of the tenth aspect, to obtain the first image and the second image, performing a first process on the first stitching image includes segmenting the first stitching image to obtain the second image and the third image, and rotating the third image to obtain the first image.
[0159] In connection with the tenth aspect, in some implementation forms of the tenth aspect, to obtain the first image, rotating the third image includes rotating the third image by (-90° - 180°×n), where n is an integer.
[0160] In connection with the tenth aspect, in some other implementation forms of the tenth aspect, to obtain the first image and the second image, performing the first process on the first stitching image includes segmenting the first stitching image to obtain the second image and the third image, rotating the third image to obtain the fifth image, and unpaddling the fifth image to obtain the first image.
[0161] In connection with the tenth aspect, in some other implementation forms of the tenth aspect, to obtain the first image, unpaddling the fifth image includes unpaddling the fifth image from the second target position, and the second target position includes at least one of a left position, a right position, or a middle position.
[0162] In connection with the tenth aspect, in some other implementation forms of the tenth aspect, to obtain the fifth image, rotating the third image includes rotating the third image by (-90° - 180°×n), where n is an integer.
[0163] In connection with the tenth aspect, in some further other implementation forms of the tenth aspect, to obtain the first image and the second image, performing the first process on the first stitching image includes segmenting the first stitching image to obtain the second image and the third image, unpaddling 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, to obtain the fourth image, unpaddling the third image includes unpaddling the third image from a first target position, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0165] In relation to the tenth aspect, in some other implementation forms of the tenth aspect, to obtain the first image, rotating the fourth image includes rotating the fourth image by (-90° - 180°×n), where n is an integer, to obtain the first image.
[0166] In relation to the tenth aspect, in some implementation forms of the tenth aspect, the method further includes transmitting the second image through the first port and transmitting the first image through the second port.
[0167] According to the eleventh aspect, an image processing method is provided. The method includes obtaining a first stitching image and performing a second process on the first stitching image to obtain the first image and the second image. 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 the third image. 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 second process includes unpaddling the first stitching image to obtain a second stitching image, and further includes rotating and segmenting the second stitching image to obtain the first image and the second image.
[0168] For example, the method may be applied to an FPGA unit and / or Ser.
[0169] In the foregoing technical solution, a first stitching image with a row pixel number of N+P and a column pixel number of Q is obtained. The first stitching image includes a second image with a row pixel number of P and a column pixel number of Q and a third image. Second, the first stitching image is unpadded to obtain a second stitching image, and the second stitching 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 stitching image. In this way, in one aspect, compared with the existing solutions, the complexity of processing the second image is not further increased. In another aspect, each row of the first stitching 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 only by performing simple segmentation on the first stitching image. As a result, the second image can be transferred quickly 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 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 corresponding to the first image and the second image are small. As a result, the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0170] In connection with the eleventh aspect, in some implementations of the eleventh aspect, to obtain the first image and the second image, performing a second process on the first stitching image includes unpadding the first stitching image to obtain a second stitching image, segmenting the second stitching image to obtain the second image and a fourth image, and rotating the fourth image to obtain the first image.
[0171] In connection with the eleventh aspect, in some implementation forms of the eleventh aspect, in order to obtain the second stitching image, unpaddling the first stitching image includes unpaddling from the first target position of the third image in the first stitching image to obtain the second stitching image, and the first target position includes at least one of the upper position, the lower position, or the middle position.
[0172] In connection with the eleventh aspect, in some implementation forms of the eleventh aspect, in order to obtain the first image, rotating the fourth image includes rotating the fourth image by (-90° - 180°×n), where n is an integer, to obtain the first image.
[0173] In connection with the eleventh aspect, in some implementation forms of the eleventh aspect, the method further includes transmitting the second image through the first port and transmitting the first image through the second port.
[0174] According to the twelfth aspect, an image processing method is provided. The method includes obtaining a third image and performing a second preprocessing on the third image to obtain a first image. The second preprocessing includes rotating the third image or includes rotating the third image and then unpaddling it.
[0175] For example, the method can be applied to an FPGA unit and / or Des.
[0176] In connection with the twelfth aspect, in some implementation forms of the twelfth aspect, performing the second preprocessing on the third image to obtain the first image includes rotating the third image to obtain the first image.
[0177] In connection with the 12th aspect, in some implementation forms of the 12th aspect, to obtain the first image, rotating the third image includes rotating the third image by (-90° - 180°×n), where n is an integer.
[0178] In connection with the 12th aspect, in some other implementation forms of the 12th aspect, to obtain the first image, performing the second preprocessing on the third image includes rotating the third image to obtain the fifth image and unpaddling the fifth image to obtain the first image.
[0179] In connection with the 12th aspect, in some other implementation forms of the 12th aspect, to obtain the first image, unpaddling the fifth image includes unpaddling the fifth image from the second target position to obtain the first image, and the second target position includes at least one of the left position, the right position, or the middle position.
[0180] In connection with the 12th aspect, in some other implementation forms of the 12th aspect, to obtain the fifth image, rotating the third image includes rotating the third image by (-90° - 180°×n), where n is an integer.
[0181] In connection with the 12th aspect, in some further other implementation forms of the 12th aspect, to obtain the first image, performing the second preprocessing on the third image includes unpaddling the third image to obtain the fourth image and rotating the fourth image to obtain the first image.
[0182] In connection with the 12th aspect, in some other implementation forms of the 12th aspect, to obtain the fourth image, unpaddling the third image includes unpaddling the third image from a first target position, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0183] In connection with the 12th aspect, in some other implementation forms of the 12th aspect, to obtain the first image, rotating the fourth image includes rotating the fourth image by (-90° - 180°×n), where n is an integer.
[0184] In connection with the 12th aspect, in some implementation forms of the 12th aspect, the method further includes transmitting the first image.
[0185] According to the 13th aspect, an image processing method is provided, the method including obtaining a fifth image and unpaddling the fifth image to obtain a first image.
[0186] For example, the method can be applied to an FPGA unit and / or Des.
[0187] In the foregoing technical solution, the fifth image is obtained and unpaddled to obtain the first image. Since the first image does not include padding pixels, in one aspect, there are no padding pixels occupying the transmission bandwidth in the subsequent process of transmitting the first image. This improves 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, so that the requirements for the interface on the device receiving the first image can be reduced.
[0188] In relation to the 13th aspect, in some implementation forms of the 13th aspect, in order to obtain the first image, unpaddling the fifth image includes performing unpaddling from a second target position of the fifth 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 13th aspect, in some implementation forms of the 13th aspect, the method further includes transmitting the first image.
[0190] According to the 14th aspect, an image processing method is provided, and the method includes obtaining a fourth image and rotating the fourth image to obtain a first image.
[0191] In relation to the 14th aspect, in some implementation forms of the 14th aspect, rotating the fourth image to obtain the first image includes rotating the fourth image by (-90° - 180°×n), where n is an integer.
[0192] In relation to the 14th aspect, in some implementation forms of the 14th aspect, the method further includes transmitting the first image.
[0193] According to a 15th aspect, an image processing method is provided. The method includes 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 process on the first stitching 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 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 through a first preprocessing of the first image. The first preprocessing includes rotating the first image or includes rotating the first image and padding. The first process includes segmenting the first stitching image to obtain the second image and the third image. The first process further includes rotating the third image or further includes rotating the third image and unpadding.
[0194] For example, the method may be applied to a domain controller, such as a CDC or an MDC.
[0195] In the foregoing technical solution, first, in order to obtain a third image, a first image with a horizontal pixel number of M and a vertical pixel number of N is rotated, or a first image with a horizontal pixel number of M and a vertical pixel number of N is rotated and padded. Then, a first stitching image with a horizontal pixel number of N+P and a vertical pixel number of Q is obtained based on the third image and a second image with a horizontal pixel number of P and a vertical pixel number of Q. Therefore, the number of padded pixels in the first stitching image is N×(Q-M). However, according to the existing solution, the first image and the second image are stitched, and the number of padded pixels included in the obtained stitching image is M×(Q-N). Since Q≧M>N, the number of padded pixels included in the obtained first stitching image is less than the number of padded pixels included in the stitching image obtained in the existing solution. Therefore, in the process of transmitting the first stitching image, since the padded pixels occupy a small amount of transmission bandwidth, the transmission efficiency of the first stitching image is improved. In addition, the first stitching image is segmented to obtain the second image and the 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 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 first stitching 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 only by performing simple segmentation on the first stitching image. As a result, the second image can be transferred quickly in real time. In addition, neither the first image nor the second image includes padded pixels. Therefore, in a subsequent process of transmitting the first image and the second image, in one aspect, the padded 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 corresponding to the first image and the second image (referring to the number of image pixels transmitted per second) are small. As a result, the requirements for the interface on the device that receives the first image and the second image can be reduced.
[0196] In connection with the 15th aspect, in some implementations of the 15th aspect, obtaining the first stitching image based on the first image and the 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 stitching image.
[0197] In connection with the 15th aspect, in some implementations of the 15th aspect, rotating the first image to obtain a third image includes rotating the first image by (90° + 180°×n), where n is an integer.
[0198] In connection with the 15th aspect, in some other implementations of the 15th aspect, obtaining the 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 a third image, and stitching the third image and the second image to obtain the first stitching image.
[0199] In connection with the 15th aspect, in some other implementations of the 15th aspect, performing pixel padding on the fourth image to obtain a third image includes performing pixel padding starting from a first target position of the fourth image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0200] In connection with the 15th aspect, in still some other implementation forms of the 15th aspect, obtaining the first stitching 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 stitching image.
[0201] In connection with the 15th aspect, in still some other implementation forms of the 15th aspect, performing pixel padding on the first image to obtain a fifth image includes performing pixel padding from a second target position of the first image to obtain the fifth image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0202] In connection with the 15th aspect, in still some other implementation forms of the 15th aspect, rotating the fifth image to obtain a third image includes rotating the fifth image by (90° + 180°×n) to obtain the third image, where n is an integer.
[0203] In connection with the 15th aspect, in still some other implementation forms of the 15th aspect, obtaining the first stitching 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 stitching image, and performing pixel padding on the second stitching image to obtain the first stitching image.
[0204] In connection with the 15th aspect, in some other implementation forms of the 15th aspect, to obtain the first stitching image, performing pixel padding on the second stitching image includes performing pixel padding from the first target position of the fourth image in the second stitching image, and the first target position includes an upper position, a lower position, or a middle position.
[0205] In connection with the 15th aspect, in some implementation forms of the 15th aspect, to obtain the fourth image, rotating the first image includes rotating the first image by (90° + 180°×n), where n is an integer.
[0206] In connection with the 15th aspect, in some implementation forms of the 15th aspect, to obtain the first image and the second image, performing the first process on the first stitching image includes segmenting the first stitching image to obtain the second image and the third image, and rotating the third image to obtain the first image.
[0207] In connection with the 15th aspect, in some implementation forms of the 15th aspect, to obtain the first image, rotating the third image includes rotating the third image by (-90° - 180°×n), where n is an integer.
[0208] In connection with the 15th aspect, in some other implementation forms of the 15th aspect, to obtain the first image and the second image, performing the first process on the first stitching image includes segmenting the first stitching 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 connection with the 15th aspect, in some other implementation forms of the 15th aspect, in order to obtain the first image, unpaddling the fifth image includes unpaddling the fifth image from a second target position, and the second target position includes at least one of a left position, a right position, or a middle position.
[0210] In connection with the 15th aspect, in some other implementation forms of the 15th aspect, in order to obtain the fifth image, rotating the third image includes rotating the third image by (-90° - 180°×n), where n is an integer.
[0211] In connection with the 15th aspect, in some other implementation forms of the 15th aspect, in order to obtain the first image and the second image, performing a first process on the first stitching image includes segmenting the first stitching image in order to obtain the second image and the third image, unpaddling the third image in order to obtain the fourth image, and rotating the fourth image in order to obtain the first image.
[0212] In connection with the 15th aspect, in some other implementation forms of the 15th aspect, in order to obtain the fourth image, unpaddling the third image includes unpaddling the third image from a first target position, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0213] In connection with the 15th aspect, in some other implementation forms of the 15th aspect, in order to obtain the first image, rotating the fourth image includes rotating the fourth image by (-90° - 180°×n), where n is an integer.
[0214] In connection with the 15th aspect, in some implementation forms of the 15th aspect, the method further includes transmitting a second image through a first port and transmitting a first image through a second port.
[0215] According to the 16th aspect, an image processing method is provided. The method includes 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 process on the first stitching 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 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 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 through a first preprocessing of the first image. The first preprocessing includes rotating the first image, or the first preprocessing includes rotating and padding the first image. The second process includes unpaddling the first stitching image to obtain a second stitching image, and the second process further includes rotating and segmenting the second stitching image to obtain the first image and the second image.
[0216] For example, the method can be applied to a domain controller, such as a CDC or an MDC.
[0217] In the foregoing technical solution, first, in order to obtain a third image, a first image with a horizontal pixel number of M and a vertical pixel number of N is rotated, or the first image with a horizontal pixel number of M and a vertical pixel number of N is rotated and padded. Next, a first stitching image with a horizontal pixel number of N+P and a vertical pixel number of Q is obtained based on the third image and a second image with a horizontal pixel number of P and a vertical pixel number of Q. Therefore, the number of padded pixels in the first stitching image is N×(Q−M). However, according to the existing solution, the first image and the second image are stitched, and the number of padded pixels included in the obtained stitching image is M×(Q−N). Since Q≧M>N, the number of padded pixels included in the obtained first stitching image is less than the number of padded pixels included in the stitching image obtained in the existing solution. Therefore, in the process of transmitting the first stitching image, since the padded pixels occupy a small amount of transmission bandwidth, the transmission efficiency of the first stitching image is improved. In addition, the first stitching image is unpadded to obtain a second stitching image, and the second stitching 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 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 first stitching 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 only by performing simple segmentation on the first stitching image. As a result, the second image can be transferred quickly in real time. In addition, neither the first image nor the second image includes padded pixels. Therefore, in a subsequent process of transmitting the first image and the second image, in one aspect, the padded pixels do not occupy the transmission bandwidth. Thereby, the transmission efficiency of the first image and the second image is improved.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 (referring to the number of image pixels transmitted per second) are small, so that the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0218] In connection with the sixteenth aspect, in some implementations of the sixteenth aspect, obtaining the first stitching image based on the first image and the 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 stitching image.
[0219] In connection with the sixteenth aspect, in some implementations of the sixteenth aspect, rotating the first image to obtain a third image includes rotating the first image by (90° + 180°×n), where n is an integer.
[0220] In connection with the sixteenth aspect, in some other implementations of the sixteenth aspect, obtaining the 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 a third image, and stitching the third image and the second image to obtain the first stitching image.
[0221] In connection with the sixteenth aspect, in some other implementations of the sixteenth aspect, performing pixel padding on the fourth image to obtain a third image includes performing pixel padding from a first target position of the fourth image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0222] In relation to the 16th aspect, in some other implementation forms of the 16th aspect, obtaining the first stitching 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 stitching image.
[0223] In relation to the 16th aspect, in some other implementation forms of the 16th aspect, performing pixel padding on the first image to obtain a fifth image includes performing pixel padding from a second target position of the first image to obtain the fifth image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0224] In relation to the 16th aspect, in some other implementation forms of the 16th aspect, rotating the fifth image to obtain a 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 16th aspect, in some other implementation forms of the 16th aspect, obtaining the first stitching 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 stitching image, and performing pixel padding on the second stitching image to obtain the first stitching image.
[0226] In connection with the 16th aspect, in some other implementation forms of the 16th aspect, to obtain the first stitching image, performing pixel padding on the second stitching image includes performing pixel padding from the first target position of the fourth image in the second stitching image, and the first target position includes an upper position, a lower position, or a middle position.
[0227] In connection with the 16th aspect, in some implementation forms of the 16th aspect, to obtain the fourth image, rotating the first image includes rotating the first image by (90° + 180°×n), where n is an integer, to obtain the fourth image.
[0228] In connection with the 16th aspect, in some implementation forms of the 16th aspect, to obtain the first image and the second image, performing a second process on the first stitching image includes unpaddling the first stitching image to obtain the second stitching image, segmenting the second stitching image to obtain the second image and the fourth image, and rotating the fourth image to obtain the first image.
[0229] In connection with the 16th aspect, in some implementation forms of the 16th aspect, to obtain the second stitching image, unpaddling the first stitching image includes unpaddling from the first target position of the third image in the first stitching image to obtain the second stitching image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0230] In connection with the 16th aspect, in some implementation forms of the 16th aspect, to obtain the first image, rotating the fourth image includes rotating the fourth image by (-90° - 180°×n), where n is an integer, to obtain the first image.
[0231] In relation to the 16th aspect, in some implementation forms of the 16th aspect, the method further includes transmitting a second image through a first port and transmitting a first image through a second port.
[0232] According to the 17th aspect, an apparatus is provided, the apparatus including an image processing apparatus according to any one of the 4th aspect to the 6th aspect and some implementation forms of the 4th aspect to some implementation forms of the 6th aspect.
[0233] In relation to the 17th aspect, in some implementation forms of the 17th aspect, the apparatus further includes a display configured to display a first image.
[0234] According to the 18th aspect, an image processing apparatus including at least one memory and at least one processor is provided, the at least one memory being configured to store a program, and the at least one processor being configured to operate the program to implement 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.
[0235] According to the 19th aspect, a computer-readable storage medium is provided, the computer-readable storage medium storing a program or instructions, and when the program or instructions are executed, enabling a computer to implement 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 the 20th aspect, a chip including at least one processor and an interface circuit is provided, the interface circuit being configured to provide program instructions or data to the at least one processor, and the at least one processor being configured to execute the program instructions to implement 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.
[0237] According to the 21st aspect, a chip is provided, and the chip is configured to implement the functions of the device according to any one of the 1st to 8th aspects and some implementation forms of the 1st aspect to some implementation forms of the 8th aspect.
[0238] According to the 22nd aspect, a terminal device is provided, and the terminal device includes a device according to any one of the 1st to 8th aspects and some implementation forms of the 1st aspect to some implementation forms of the 8th 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 the 23rd aspect, a computer program product is provided, the computer program product includes computer program code, and when the computer program code is run on a computer, a method according to any one of the 9th to 16th aspects and some implementation forms of the 9th aspect to some implementation forms of the 16th aspect is implemented.
Brief Description of the Drawings
[0241]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Embodiments for Carrying Out the Invention
[0242] Hereinafter, the technical solution of the present application will be described with reference to the accompanying drawings.
[0243] For example, FIG. 1 is a schematic diagram of an example of an application scenario according to an embodiment of the present application.
[0244] As shown in FIG. 1, the first device 10 includes a 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), a low voltage differential signaling (LVDS) open 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. The Ser 12 of the first device 10 can transmit information to the Des 21 of the second device 20 via the port 121a and the cable 121b. The Ser 12 of the first device 10 can further transmit information to the Des 31 of the third device 30 via the port 122a and the cable 122b.
[0245] For example, the first device 10 may include, without limitation, 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, which are internally generated or stored, or obtained 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 two displays (display 22 and display 32) into a normal large image through processing and transmit the stitched image through MIPI, oLDI, or DP. Ser 12 (supporting 1-to-2, that is, supporting segmenting one image into two images) performs segmentation on the large image to obtain two images and transmits the images to the second device 20 and the third device 30 separately through two ports of the serializer for display.
[0247] For example, the SoC 11 of the first device 10 needs to stitch image 1 (for example, the number of pixels is 3840×720) and image 2 (for example, the number of pixels is 480×240) into a normal large image (horizontal stitching or vertical stitching). Ser 12 of the first device 10 performs segmentation on the large image to obtain two images and transmits the images to the second device 20 and the third device 30 separately through two ports of the serializer for display.
[0248] In the embodiments of the present application, an example where the number of pixels is represented by the number of row pixels × the number of column pixels is used for illustration.
[0249] For example, the fact that the number of pixels is 3840×720 means that the number of row pixels is 3840 and the number of column pixels is 720.
[0250] It should be understood that the number of pixels can alternatively be represented by the number of column pixels × the number of row pixels. This is not limited in the present application.
[0251] In some embodiments, the number of pixels of an image may alternatively be represented by the resolution of the image.
[0252] For example, the image resolution may be represented as horizontal resolution × vertical resolution, or may be represented as vertical resolution × horizontal resolution. The vertical resolution may be understood as the amount of horizontal scanning lines of the image in the vertical direction, and the horizontal resolution is the number of pixels on each horizontal scan. In other words, the vertical resolution may correspond to the number of column pixels, and the horizontal resolution may correspond to the number of row pixels.
[0253] For example, an image resolution of 3840×720 means that there are 720 horizontal scanning lines vertically in the image and 3840 pixels on each horizontal scanning line.
[0254] In the embodiments of the present application, a regular image can 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 also the same. The number of row pixels may be the same as or different from the number of column pixels.
[0255] In the embodiments of the present application, an irregular image can be understood as one in which the number of pixels in at least one row of the image is different from that in another row, and / or the number of pixels in at least one column of the image is different from that in another column.
[0256] In the embodiments of the present application, horizontal stitching can be understood as performing row pixel stitching on two images. After horizontal stitching, the number of row pixels is the sum of the number of row pixels of the two images. Vertical stitching can be understood as performing column pixel stitching on two images. After vertical stitching, the number of column pixels is the sum of the number of column pixels of the two images.
[0257] Referring to FIGS. 2 and 3, hereinafter, the process in which the first device 10 separately transmits Image 1 to the second device 20 and Image 2 to the third device 30 for display will be described in detail.
[0258] FIG. 2 is a schematic diagram of an example in which the first device 10 transmits images to the second device 20 and the third device 30.
[0259] For example, as shown in FIG. 2, due to the limitations of the pins and interfaces of the SoC, multiple images cannot be distinguished in the interface layers of the SoC and Ser. The SoC 11 needs to horizontally stitch Image 1 and Image 2 into a regular large image. However, since 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 that of Image 1. For example, padding pixels may be added to the bottom of Image 2 for padding (Padding) so as to match the display format of Image 1. As a result, the number of column pixels (720) of the large image obtained through the stitching of Image 1 and Image 2 matches that of Image 1. For example, FIG. 3 is a schematic diagram of the large image obtained through the stitching of Image 1 and Image 2 and pixel padding.
[0260] Also, as shown in FIG. 2, the SoC 11 may transmit a large image stitched to the Ser 12 via MIPI, oLDI, or DP. After receiving the large image, the Ser 12 needs to segment the large image. For example, after receiving the large image shown in FIG. 2, the 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. The Ser 12 may transmit Image 1 to the Des 21 via the port 121a and the cable 121b, and transmit Image 3 to the Des 31 via the port 122a and the cable 122b.
[0261] In an embodiment of the present application, horizontal splitting (or horizontal segmentation) may be understood as performing pixel splitting (or segmentation) on an image to obtain a plurality of images, or may be understood as the reverse process of horizontal stitching. Vertical splitting (or vertical segmentation) may be understood as performing column pixel splitting (or segmentation) on an image to obtain a plurality of images, or may be understood as the reverse process of vertical stitching.
[0262] Since Des 31 does not have the ability to prune (unpad) 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 where the first device 10 transmits the image 3 to the third device 30, since the image 3 includes padding pixels, it can be found that the padding pixels occupy the transmission bandwidth. This causes low transmission efficiency. In addition, since the image 3 transmitted by Des 31 includes padding pixels, the pixel clock (PLCK) is large. This imposes higher interface requirements on MIPI, oLDI, or DP on the display 32, and some screen-side devices cannot adapt to the pixel clock. The PCLK is the number of image pixels transmitted per second, and the corresponding clock needs to be set on the transmitter and receiver based on the PCLK. The pixel clock is related to the image format and frame rate. For example, for image 1, when the frame rate is 60 frames per second, the number of pixels that need to be transmitted per second is 3840×720×60 = 165888000, that is, PCLK = 165.888 MHz. For image 3, the number of pixels that need to be transmitted per second is 480×720×60 = 20736000, that is, PCLK = 20.736 MHz. For image 2, the number of pixels that need to be transmitted per second is 480×240×60 = 6912000, and PCLK = 6.912 MHz. The PCLK of image 3 is improved by 200% compared to the PCLK of image 2. A higher PCLK indicates higher requirements for the hardware capabilities of the transmitter and receiver.
[0264] Therefore, the embodiments of the present application provide an image processing method. The 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. This improves the image transmission efficiency.
[0265] Hereinafter, with reference to specific accompanying drawings, the image processing method provided in the embodiments of the present application will be described in detail.
[0266] FIG. 4 is a schematic flowchart 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, 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, the number of column pixels is N, and M > N. The number of row pixels of the second image is P, the number of column pixels is Q, and 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 the third image. The third image is an image obtained by a first preprocessing of the first image. The first preprocessing includes rotating the first image or 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] In the embodiments of the present application, it should be understood that the number of row pixels is 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 stitching image is N + P, that is, there are N + P pixels in each row of the first stitching image.
[0272] In the embodiments of the present application, it should be understood that 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, that is, 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, that is, there are Q pixels in each column of the first image. In another example, the number of column pixels of the first stitching image is Q, that is, there are Q pixels in each column of the first stitching image.
[0274] For ease of explanation, an example in which the number of pixels of an image is represented by the number of row pixels × the number of column pixels is used for the following explanation. It should be understood that the number of pixels of an image can alternatively be represented by the number of column pixels × the number of row pixels. This is not limited in this application.
[0275] In all embodiments of this application, the relationship of the values between P and Q is not limited. For example, P may be greater than Q, equal to Q, or less than Q. In the following attached drawings, an example where P is greater than Q is used for explanation.
[0276] In the embodiments of this application, the method of implementing S210 is not limited. Hereinafter, S210 will be described in detail by using Methods 1 to 4 as examples. Methods 1, 3, and 4 are applicable when the number of pixels of the first image and the number of pixels of the second image satisfy Q>M. Method 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 S11 to S13. Hereinafter, S11 to S13 will be specifically described.
[0278] S11: Rotate the first image to obtain the fourth image.
[0279] In some embodiments, to obtain the fourth image, the first image can be rotated by (90° + 180°×n). In this case, the number of pixels of the fourth image is N×M.
[0280] In an embodiment of the present application, n is an integer. For example, when n is 0, in order to obtain the fourth image, the first image can be rotated by 90°. In another example, when n is 1, in order to obtain the fourth image, the first image can be rotated by 270°. In another example, when n is -1, in order to obtain the fourth image, the first image can be rotated by -90°.
[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 may be 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 may be the clockwise direction. An example where 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 illustration.
[0282] For example, FIG. 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 Method 1 according to an embodiment of the present application. As shown in FIG. 5, the number of pixels of the first image 501 is 480×240, that is, M = 480 and N = 240. The number of pixels of the second image 502 is 3840×720, that is, P = 3840 and Q = 720. S11 may specifically include rotating the first image by 90° (for example, rotating the first image clockwise by 90°) in order to obtain the fourth image 5031. In this case, the number of pixels of the fourth image 5031 is 240×480.
[0283] Furthermore, when the fourth image and the second image are stitched to 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 to a regular image.
[0284] S12: Perform pixel padding on the fourth image in order to obtain the third image.
[0285] In some embodiments, since the number of pixels of the fourth image is N×M and the number of pixels of the second image is P×Q, column pixel padding may be performed on the fourth image. As a result, the fourth image and the second image can be horizontally stitched into a regular image. 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 column pixel number of the third image obtained through pixel padding is the same as the column pixel number of the second image. In this case, the number of padded pixels in the fourth image is N×(Q - M), and the number of pixels of the third image is N×Q.
[0286] For ease of explanation, in the embodiments of the present application, horizontal stitching is used as an example for the following explanation.
[0287] In some embodiments, to obtain the third image, pixel padding can be performed starting from the first target position of the fourth image. For example, the first target position includes at least one of the upper position, the lower position, or the middle position.
[0288] In some embodiments, the first target position may be preset.
[0289] For example, in the embodiments of the present application, the lower position of the image can be understood as the position of the last row of the image. For example, the lower position of the fourth image can be understood as the position of the last row 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] For example, as shown in FIG. 6(a), in order to obtain the third image 503, pixel padding is performed after the lower position (the position of the last row) of 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 the pixel padding region 5032, and the number of pixels of the pixel padding region 5032 is 240×240.
[0292] For example, in the embodiments of the present application, the upper position of the image can be understood as the position of the first row of the image. For example, the upper position of the fourth image can be understood as the position of the first row of the fourth image.
[0293] In another example, as shown in FIG. 6(b), in order to obtain the third image 503, pixel padding is performed before the start position (the position of the first row) of 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 the pixel padding region 5032, and the number of pixels of the pixel padding region 5032 is 240×240.
[0294] For example, in the embodiments of the present application, the middle position of the image can be understood as any at least one position from the first row (excluding the first row) to the last row (excluding the last row) of the image. For example, the middle position of the fourth image can be understood as any at least one position 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 middle position may be included. The number of middle positions is not limited in the present application.
[0296] In an embodiment that optionally includes a plurality of intermediate positions, S12 specifically includes, first, performing column pixel segmentation (which can be understood as the aforementioned vertical division) on the fourth image to obtain a plurality of first sub-images. Second, the plurality of first sub-images are arranged at intervals such that a first gap region is formed between the plurality of first sub-images. Finally, pixel padding is performed on the first gap region to obtain the third image.
[0297] For example, the amount of the first sub-images is not limited in the embodiments of the present application as long as the amount of the first sub-images is greater than 1. For example, as shown in FIG. 6(c), an example with three first sub-images is used for illustration.
[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] For example, as shown in FIG. 6(c), in order to obtain the third image 503, pixel padding is performed from two intermediate positions (any at least one position among the first row to the last row) of the fourth image 5031. Specifically, first, column pixel segmentation is performed on the fourth image 5031 in order 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 arranged at intervals such that the first gap region 50321 and the first gap region 50322 are formed between the first sub-image 50311, the first sub-image 50312, and the first sub-image 50313. Finally, in order to obtain the third image 503, pixel padding is performed on the first gap region 50321 and the first gap region 50322. In this case, the number of pixels of the third image 503 is 240×720, and the third image 503 includes the first sub-image 50311, the first sub-image 50312, the first sub-image 50313, the first gap region 50321 filled with pixels, and the first gap region 50322 filled with pixels.
[0300] For example, the size of the interval between a plurality of first sub-images is not limited in the embodiments of the present application. For example, the intervals between the first sub-images may be equally spaced.
[0301] For example, as shown in FIG. 5, in accordance with S12, in order to obtain the third image 503, pixel padding is performed after the lower position of the fourth image 5031. The number of pixels of the third image 503 is 240×720.
[0302] In FIG. 5, it should be understood that S12 is described by using an example in which pixel padding is performed after the lower position of the fourth image 5031 in order to obtain the third image 503.
[0303] S13: To obtain the first stitching image, the third image and the first image are stitched.
[0304] In some embodiments, to obtain the first stitching image, the third image and the first image are stitched horizontally.
[0305] For example, as shown in FIG. 5, the third image 503 and the first image 502 are stitched horizontally to obtain the first stitching image 504. In this case, the number of pixels of the first stitching image is (240 + 3840) × 720.
[0306] From the above-described Method 1, it can be found that in Method 1, the first preprocessing includes rotating and padding the first image.
[0307] Method 2 Method 2 may include S21 and S22. Hereinafter, S21 and S22 will be specifically described.
[0308] S21: To obtain the third image, the first image is rotated.
[0309] In some embodiments, to obtain the third image, the first image can be rotated by (90° + 180°×n). In this case, the number of pixels of the third image is N×M.
[0310] The value of n is the same as the value of n described above.
[0311] For example, FIG. 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 Method 2 according to an embodiment of the present application. As shown in FIG. 7, the number of pixels of the first image 511 is 720×240, that is, M = 720 and N = 240. The number of pixels of the second image 512 is 3840×720, that is, P = 3840 and Q = 720. S21 may specifically include rotating the first image by 90° (for example, rotating the first image clockwise by 90°) to obtain a third image 513. In this case, the number of pixels of the third image 513 is 240×720.
[0312] S22: Stitch the third image and the second image to obtain a first stitching image.
[0313] In some embodiments, to obtain a first stitching image, the third image and the second image are stitched horizontally.
[0314] For example, as shown in FIG. 7, the third image 513 and the second image 512 are stitched horizontally to obtain a first stitching image 514. In this case, the number of pixels of the first stitching image is (240 + 3840)×720.
[0315] From Method 2 described above, it can be found that in Method 2, the first preprocessing includes rotating the first image.
[0316] Method 3 Method 3 may include S31 to S33. Hereinafter, S31 to S33 will be specifically described.
[0317] S31: Perform pixel padding on the first image to obtain a fifth image.
[0318] In some embodiments, since the number of pixels in the first image is M×N and the number of pixels in the second image is P×Q, row pixel padding may be performed on the first image. As a result, the first image and the second image can be horizontally stitched into a regular image. 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 (Q - M)×N, and the number of pixels in the fifth image is Q×N.
[0319] In some embodiments, to obtain the fifth image, pixel padding may be performed starting from the second target position of the first 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 position may be preset.
[0321] For example, in the embodiments of the present application, the left position of an 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 the first image to obtain the fifth image according to the embodiments of the present application.
[0323] For example, as shown in FIG. 8(a), to obtain the fifth image 5241, pixel padding is performed starting from the left position (the position of the first column) of the first image 521. In this case, the number of pixels in the fifth image 5241 is 720×240. The fifth image 524 includes the first image 521 and the pixel padding area 5231, and the number of pixels in the pixel padding area 5231 is 240×240.
[0324] For example, in an 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 the first image can be understood as the position of the last column of the first image.
[0325] For example, as shown in FIG. 8(b), in order to obtain the fifth image 5242, pixel padding is performed from the position to the right (the position of the last column) of the first image 521. In this case, the number of pixels of the fifth image 5242 is 720×240, the fifth image 5242 includes the first image 521 and the pixel padding region 5232, and the number of pixels of the pixel padding region 5232 is 240×240.
[0326] For example, in an embodiment of the present application, the middle position of an image is any 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 middle position of the first image can be understood as any 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 middle position may be included. The number of middle positions is not limited in the present application.
[0328] Optionally, in an embodiment including a plurality of middle positions, S31 specifically includes that first, in order to obtain a plurality of second sub-images, row pixel segmentation (alternatively, understood as the aforementioned horizontal division) is performed on the first image. Second, the plurality of second sub-images are arranged at intervals such that a second gap region is formed between the plurality of second sub-images. Finally, pixel padding is performed on the second gap region in order to obtain the fifth image.
[0329] For example, the amount of the second sub-images is not limited in the embodiments of the present application as long as the amount of the second sub-images is greater than 1. For example, as shown in FIG. 8(c), an example with three second sub-images is used for illustration.
[0330] For example, the size of each of the plurality of second sub-images obtained through row pixel segmentation of the first image is not limited in the embodiments of the present application.
[0331] For example, as shown in FIG. 8(c), in order to obtain the fifth image 5243, pixel padding is performed from two intermediate positions (any at least one position from the first column to the last column) of the first image 521. Specifically, first, row pixel segmentation is performed on the first image 521 to obtain three second sub-images, namely, the second sub-image 5211, the second sub-image 5212, and the second sub-image 5213. Second, the second sub-image 5211, the second sub-image 5212, and the second sub-image 5213 are arranged at intervals such that the second gap region 5233 and the second gap region 5234 are formed between the second sub-image 5211, the second sub-image 5212, and the second sub-image 5213. Finally, pixel padding is performed on the second gap region 5233 and the second gap region 5234 to obtain the fifth image 5243. In this case, the number of pixels of the fifth image 5243 is 720×240, and the fifth image 5243 includes the second sub-image 5211, the second sub-image 5212, the second sub-image 5213, the second gap region 5233 filled with pixels, and the second gap region 5234 filled with pixels.
[0332] For example, the size of the interval between the plurality of second sub-images is not limited in the embodiments of the present application. For example, the intervals between the second sub-images may be equally spaced.
[0333] S32: Rotate the fifth image to obtain the third image.
[0334] In some embodiments, in order to obtain the third image, the fifth image can be rotated by (90° + 180°×n). In this case, the number of pixels of the third image is N×Q.
[0335] S33: To obtain the first stitching image, the third image and the second image are stitched.
[0336] In some embodiments, to obtain the first stitching image, the third image and the second image are stitched horizontally.
[0337] From the method 3 described above, it can be found that in method 3, the first preprocessing includes rotating and padding the first image.
[0338] Method 4 Method 4 may include S41 to S43. Hereinafter, S41 to S43 will be specifically described.
[0339] S41: To obtain the fourth image, the first image is rotated.
[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. Details will not be described again in this specification.
[0342] S42: To obtain the second stitching image, the fourth image and the second image are stitched.
[0343] In some embodiments, to obtain the second stitching image, the fourth image and the second image can be stitched horizontally. In this case, the second stitching image is an irregular image, and the number of pixels (M) in at least one column of the second stitching image is different from the number of pixels (Q) in another column.
[0344] S43: To obtain the first stitching image, pixel padding is performed on the second stitching image.
[0345] In some embodiments, performing pixel padding on the second stitching image may involve performing column pixel padding on the fourth image within the second stitching image, i.e., to obtain a normal second stitching image such that the number of pixels in each column of the fourth image increases from M to Q, column pixel padding is performed on columns within the second stitching image where the number of column pixels is less than Q (i.e., columns corresponding to the fourth image).
[0346] In some embodiments, to obtain the first stitching image, pixel padding can be performed from the first target position of the fourth image within the second stitching image. The first target position can include the upper position, the lower position, or the middle position.
[0347] For the description of the upper position, the lower position, or the middle position, please refer to the relevant description of S12. Details will not be described again in this specification.
[0348] From the method 4 described above, it can be found that in method 4, the first preprocessing includes rotating and padding the first image.
[0349] For example, S210 can be implemented by the first processing unit. For example, the first processing unit may include the aforementioned SoC.
[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 the processing performed by the first processing unit on the 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 this application.
[0351] In some embodiments, the first image and / or the second image may be an image formed by stitching a plurality of images. This is not limited in this application.
[0352] As shown in FIG. 4, method 200 further includes S220.
[0353] S220: Transmit the first stitched image.
[0354] For example, S220 may be performed by a transmission unit.
[0355] In some embodiments, method 200 is performed by a first image processing apparatus. Specifically, the first image processing apparatus includes a first processing unit and a transmission unit. The first processing unit of the first image processing apparatus performs S210, and the transmission unit of the first image processing apparatus performs S220.
[0356] For example, in the embodiments of this application, the first image processing apparatus includes, but is not limited to, a domain controller, or another device having an image processing function, such as an MDC, a CDC, or a gateway having an image processing function.
[0357] In some embodiments, the first image processing apparatus further includes a first interface, and the transmission unit of the second image processing apparatus transmits the first stitching image to another apparatus via the first interface.
[0358] For example, the first interface includes, but is not limited to, MIPI, oLDI, or DP.
[0359] According to the image processing method provided in the embodiments of the present application, from the first stitching image (for example, the first stitching image 504 shown in FIG. 5 and the first stitching image 514 shown in FIG. 7) obtained based on the foregoing method 200, it can be found that the obtained first stitching image includes 240×240 padding pixels (for example, the first stitching image 504 shown in FIG. 5) or 0×0 padding pixels (for example, the first stitching image 514 shown in FIG. 7), which are less than the padding pixels (480×480) included in the stitching image (such as that shown in FIG. 3) obtained based on the image processing method provided in the existing solutions. In this way, in the process of transmitting the first stitching image, the padding pixels occupy a small amount of transmission bandwidth. Thereby, the transmission efficiency of the first stitching image is improved. In addition, compared with the existing solutions, the complexity of processing the second image is not further increased in method 200.
[0360] In some embodiments, S210 may be further implemented in another manner. Any process in which the first stitching image obtained in another manner has fewer padding pixels than the stitching image obtained in the existing solutions is applicable to another manner according to the embodiments of the present application.
[0361] For example, in one possible embodiment, another method is that the row pixels in each row of the first image are connected from the beginning to the end, that is, the value of i can be from 1 to N, where i is a positive integer. 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. To obtain the seventh image, by using the number of row pixels in the second image as the granularity, the new number of row pixels is recut. If the seventh image has rows with the number of row pixels less than that of the second image, row pixel padding can be performed on the rows in the seventh image with the number of row pixels less than that of the second image so that the number of pixels in each row of the seventh image is the same as that 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, when the number of pixels in the first image is 480×240, the number of pixels in the second image is 1080×720. The value of i is from 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 the beginning to the end. By using 1080 as the granularity, the new number of row pixels is recut. 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 becomes 1080. In this way, 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 in the first stitched image is 1080×827, and the number of padding pixels included in the first stitched 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 that receives the first stitching image can buffer the pixels of the second image so that the device can still stably output the second image during the time period when the first image is being transmitted. When the second image in the first stitching image is below the first image, the device that receives the first stitching image can buffer the pixels of the first image. As a result, the device that receives the first stitching image can still stably output the first image during the time period when the second image is being transmitted.
[0364] For example, in another possible implementation, another method may include that the column pixels in each column of the first image are connected from the beginning to the end, that is, there are values of j from 1 to M, and j is a positive integer. The pixels in the (j + 1)-th column of the first image are vertically stitched to the last pixel in the j-th column of the first image. By using the number of column pixels of the second image as the granularity, the new number of column pixels is recut to obtain the eighth image. When the eighth image has columns with the number of column pixels less than that of the second image, pixel padding can be performed on the columns in the eighth image with the number of column pixels less than that of the second image so that the number of pixels in each column of the eighth image is the same as that of the second image. In addition, the second image and the eighth image are horizontally stitched to obtain the first stitching image.
[0365] For example, when the number of pixels of the first image is 480×240, the number of pixels of the second image is 1080×720. The value of j is from 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 j-th column of the first image, the column pixels in each column of the first image are connected from the beginning to the end, and by using 720 as the granularity, the new column pixel number is recut to obtain the eighth image. In this case, the eighth image does not have columns with a column pixel number less than 720, the column pixel number of the eighth image is 720, and the row pixel number of the eighth image is 160. Then, the second image and the eighth image are horizontally stitched to obtain the first stitched image. In this case, the number of pixels of the first stitched image is 1240×720, and the first stitched image does not include padding pixels.
[0366] For example, in yet another possible implementation, another approach may include dividing the first image and the second image, and then recombining and stitching them to obtain the first stitched image. In this 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 ways to obtain the first stitched image.
[0368] For example, the aforementioned first image is cut to obtain a plurality of sub-images. As a result, after the plurality of sub-images are stitched, the plurality of sub-images can be adapted to the column pixel number or row pixel number of the second image, and then to the image obtained through segmentation of the first image and stitching of the second image, in order to obtain the first stitched image.
[0369] For example, when 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), first, row pixel segmentation may be performed on the first image to obtain L sub-images. Second, to obtain the 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 horizontally stitched to obtain the 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. Since the number of column pixels of the second image is the same as the number of column pixels of the sixth image, in this case, the obtained first stitched image has no padding pixels. Compared with the padding pixels (480×480) included in the stitched image obtained based on the image processing method provided in the existing solution (as shown in FIG. 3), the padding pixels included in the first stitched image are much fewer. In this way, in the process of transmitting the first stitched image, the padding pixels do not occupy the transmission bandwidth. Thereby, the transmission efficiency of the first stitched image is improved.
[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 480×240, that is, M = 480 and N = 240. The number of pixels of the second image 552 is 3840×720, 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 720 of the second image 552 is three times the number of column pixels 240 of the first image 551 (that is, L = 3), 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 horizontally stitched to obtain the first stitching image 553. In this case, the number of pixels of the first stitching image is (3840 + 160)×720.
[0371] The foregoing embodiments are described by using an example in which the first stitching image is obtained based on the second image and the image obtained through the first preprocessing of the first image. In some embodiments, it should be understood that the first image and the image obtained through the first preprocessing of the second image can be further vertically stitched to obtain the first stitching image. In this case, when 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 stitching image is Q×(P + N). For the description of the specific process, refer to the relevant description in the foregoing method 200. 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 that receives the first stitching image can buffer the pixels of the second image so that the device that receives the first stitching image still stably outputs the second image during the time period when the first image is transmitted. When the second image in the first stitching image is below the first image, the device that receives the first stitching image can buffer the pixels of the first image, and as a result, the device that receives the first stitching image still stably outputs the first image during the time period when the second image is transmitted.
[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 number of column pixels Q of the second image is less than the number of row pixels 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 number of row pixels of the first image is M, the number of column pixels is N, M > N, and N < Q. The number of row pixels of the second image is P, the number of column pixels is Q, and Q < M. The number of row pixels of the fourth stitching image or the fifth stitching image is P + K×N, and the number of column pixels 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 number of row pixels of the first image is M, the number of column pixels 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 number of pixels of the fourth image is N×M. n is an integer.
[0378] S212’: To obtain K sub-images, the fourth image is vertically segmented. 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, the K sub-images are horizontally stitched. 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, the ninth image and the second image are horizontally stitched. 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. When 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, row pixel padding is performed 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 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 rows where the number of row pixels in the third stitching image is less than P + K×N 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’ to S215’ may alternatively be replaced with S216’ to 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’ to S219’ are directly performed. When M < K×Q, S216’ 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, method 200' may be executed by the aforementioned first processing unit.
[0392] In some embodiments, method 200' further includes transmitting a fourth stitching image or a fifth stitching image.
[0393] For example, the fourth stitching image or the fifth stitching image may be transmitted by a transmission unit.
[0394] In some embodiments, method 200' is implemented by a first image processing apparatus. Specifically, the first image processing apparatus includes a first processing unit and a transmission unit. The first processing unit in the first image processing apparatus implements method 200', and the transmission unit in the first image processing apparatus transmits a fourth stitching image or a fifth stitching image.
[0395] For example, in the embodiments of the present application, the first image processing apparatus includes, but is not limited to, a domain controller, such as an MDC, a CDC, etc.
[0396] In some embodiments, the first image processing apparatus further includes a first interface, and the transmission unit of the second image processing apparatus transmits a fourth stitching image or a fifth stitching image to another apparatus 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 the existing solution, 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. The 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 the image processing method 300, a first process may be performed on the stitching image to obtain the first image and the second image.
[0400] For example, FIG. 10 is a schematic flowchart of an example of the 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 the first stitching image. The number of pixels of the first stitching image is (N + P) × Q. The first stitching image includes the second image and the third image. The number of pixels of the second image is P × Q, and Q ≥ M.
[0403] In some embodiments, S310 may be implemented by an acquisition unit.
[0404] Optionally, in some embodiments, S310 may be to obtain the first stitching image from the transmission unit of the first image processing apparatus in the aforementioned method 200.
[0405] S320: To obtain the first image and the second image, perform a first process on the first stitching image. The number of pixels of the first image is M × N, and M > N. The first process includes segmenting the first stitching image to obtain the second image and the third image. The first process further includes rotating the third image, or the first process further includes rotating the third image and then removing padding.
[0406] In the embodiments of the present application, the manner of implementing S320 is not limited. Hereinafter, S320 will be described in detail by using method 1' to method 3' as examples. 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'. Hereinafter, S11' and S12' will be specifically described.
[0408] S11': Segment the first stitching image to obtain the second image and the third image.
[0409] In some embodiments, when the first stitching image is obtained through horizontal stitching, in S11’, in order to obtain the second image and the third image, the first stitching image is segmented horizontally.
[0410] The first 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, during the same period, the corresponding image data is output to both ports.
[0411] In some embodiments, when the first stitching image is obtained through vertical stitching, in S11’, the first stitching image is segmented vertically in order to obtain the second image and the third image.
[0412] Since the number of pixels of the first stitching image is (N + P) × Q and the number of pixels of the second image is P × Q, it can be found from S11’ that the number of pixels of the third image is N × Q.
[0413] FIG. 11 is a schematic diagram of an example of obtaining the first image and the second image in method 1’ according to an embodiment of the present application. For example, as shown in FIG. 11, the first stitching image 514 includes the second image 512 and the third image 513. 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 obtained. 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, in order to obtain the first image, the third image can be rotated by (-90° - 180° × n).
[0416] The value of n is consistent with the value of n described above.
[0417] Since the number of pixels of the first image is M×N, it can be found from S12’ that the number of pixels of the third image is N×M. However, it can be found from S11’ that the number of pixels of the third image is still N×Q. Therefore, in this case, M = Q. Therefore, Method 1 is applicable to a solution where the number of pixels of the first image and the number of pixels of the second image satisfy M = Q.
[0418] For example, as shown in FIG. 11, in order to obtain the first image 511 according to S12’, the third image 513 is rotated (rotated 90° counterclockwise). In this way, a solution for obtaining the first image 511 and the second image 512 based on the first stitching image 514 is implemented. It can be found 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 S21’ to S23’. Hereinafter, S21’ to S23’ will be specifically described.
[0420] S21’: Segment the first stitching image to obtain the second image and the third image.
[0421] For the related description of S21’, please refer to the above-mentioned related description of S11’. Details will not be described again in this specification.
[0422] FIG. 12 is a schematic diagram of an example of obtaining the first image and the second image by Method 2’ according to an embodiment of the present application. For example, as shown in FIG. 12, the first stitching image 525 includes the second image 522 and the third image 524. 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 obtained.
[0423] S22’: Rotate the third image to obtain the fifth image.
[0424] In some embodiments, to obtain the fifth image, the third image can be rotated by (-90° - 180°×n).
[0425] The value of n is consistent with the value of n described above.
[0426] From S11’, it can be found that the number of pixels of the third image is N×Q. Therefore, the number of pixels of the fifth image is Q×N.
[0427] For example, as shown in FIG. 12, according to S22’, to obtain the fifth image 523, the third image 524 is rotated (for example, rotated 90° counterclockwise). The number of pixels of the fifth image 523 is 720×240.
[0428] S23’: Unpad the fifth image to obtain the first image.
[0429] In some embodiments, unpadding the fifth image may be performed by performing row unpadding on the fifth image. As a result, 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 (Q - M)×N.
[0430] In some embodiments, to obtain the first image, unpadding can be performed from the 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 parts of the second target position not described, refer to the relevant description in S31. Details are not described again in this specification.
[0432] FIG. 13 is a schematic diagram of three examples of unpaddling a fifth image to obtain a first image according to an embodiment of the present application.
[0433] For example, as shown in FIG. 13(a), in order to obtain the first image 521, unpaddling 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 region 5231.
[0434] For example, as shown in FIG. 13(b), in order to obtain the first image 521, unpaddling 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 region 5232.
[0435] In some embodiments, at least one intermediate position may be included. The number of intermediate positions is not limited in the present application.
[0436] Optionally, in embodiments with a plurality of intermediate positions, S23’ specifically includes first performing unpaddling from at least one intermediate position of the fifth image to obtain a plurality of second sub-images. Then, the plurality of second sub-images are horizontally stitched so that the plurality of second sub-images form the first image.
[0437] For example, the amount of the second sub-images is not limited in the embodiments of the present application as long as the amount of the second sub-images is greater than 1. For example, as shown in FIG. 13(c), an example with three second sub-images is used for illustration.
[0438] For example, as shown in FIG. 13(c), first, padding removal is performed from two intermediate positions of the fifth image 5243 (positions corresponding to the second gap region 5233 and the second gap region 5234 respectively), and three second sub-images, namely, the second sub-image 5211, the second sub-image 5212, and the second sub-image 5213 are obtained. Second, the second sub-image 5211, the second sub-image 5212, and the second sub-image 5213 are horizontally stitched so that the second sub-image 5211, the second sub-image 5212, and the second sub-image 5213 form the first image 521. In this case, the number of pixels of the fifth image 5243 is 720×240, and the fifth image 5243 includes the second sub-image 5211, the second sub-image 5212, the second sub-image 5213, the second gap region 5233 filled with pixels, and the second gap region 5234 filled with pixels.
[0439] For example, the size of the interval between a plurality of second sub-images is not limited in the embodiments of the present application. For example, the intervals between the second sub-images may be equally spaced.
[0440] For example, as shown in FIG. 12, in accordance with S23’, in order to obtain the first image 521, padding removal is performed from the right position of the fifth image 523. The number of pixels of the first image 523 is 480×240.
[0441] In FIG. 12, it should be understood that S23’ is illustrated by using an example in which padding removal is performed from the right position of the fifth image 523 in order to obtain the first image 521.
[0442] Method 3’ Method 3’ may include S31’ to S33’. Hereinafter, S31’ to S33’ will be specifically described.
[0443] S31’: To obtain the second image and the third image, segment the first stitching image.
[0444] For the related description of S31’, please refer to the above-mentioned related description of S11’. Details will not be described again in this specification.
[0445] S32’: To obtain the fourth image, unpadd the third image.
[0446] In some embodiments, unpadding the third image may be performed by performing column unpadding on the third image. As a result, 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 case, the number of unpadded pixels is N×(Q - M), and the number of pixels in the fourth image is N×M.
[0447] In some embodiments, unpadding can be performed starting from the first target position of the third image to obtain the fourth image. For example, the first target position includes at least one of the upper position, the lower position, or the middle position.
[0448] For parts of the first target position not described, please refer to the related description in S12. Details will not be described again in this specification.
[0449] FIG. 14 is a schematic diagram of three examples of unpadding the third image to obtain the fourth image according to an embodiment of the present application.
[0450] For example, as shown in FIG. 14(a), to obtain the fourth image 5031, unpadding is performed before the lower position (the position of the last row) of 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 the pixel padding area 5032, and the number of pixels in the fourth image 5031 is 240×480.
[0451] For example, as shown in FIG. 14(b), in order to obtain the fourth image 5031, padding removal is performed after the start position (the position of the first row) of the third image 503. 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 the pixel padding region 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. The number of intermediate positions is not limited in this application.
[0453] Optionally, in embodiments with a plurality of intermediate positions, S32’ specifically includes first performing padding removal from at least one intermediate position of the fifth image to obtain a plurality of first sub-images. Then, the plurality of first sub-images are vertically stitched so that the plurality of first sub-images form the fourth image.
[0454] For example, the amount of the first sub-images is not limited in the embodiments of this application as long as the amount of the first sub-images is greater than 1. For example, as shown in FIG. 14(c), an example where there are three first sub-images is used for illustration.
[0455] For example, as shown in FIG. 14(c), first, padding removal is performed from two intermediate positions of the fifth image 503 (positions corresponding to the first gap region 50321 and the first gap region 50322, respectively), and three first sub-images, namely, the first sub-image 50311, the first sub-image 50312, and the first sub-image 50313 are obtained. Second, the first sub-image 50311, the first sub-image 50312, and the first sub-image 50313 are vertically stitched 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 of the fourth image 5031 is 240×480, and the fifth image 503 includes the first sub-image 50311, the first sub-image 50312, the first sub-image 50313, the first gap region 50321 filled with pixels, and the first gap region 50322 filled with pixels.
[0456] For example, the size of the interval between a plurality of first sub-images is not limited in the embodiments of the present application. For example, the intervals between the first sub-images may be equally spaced.
[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 coincides with the value of n described above.
[0460] From S32’, it can be found that the number of pixels of the fourth image is N×M. Therefore, the number of pixels of the first image is M×N.
[0461] The foregoing embodiments have been 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 and padding removal of the third image. It should be understood that in some embodiments, the first image and the second image may be further obtained based on vertical segmentation. In this case, when 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 the description of the specific process, refer to the relevant description in the foregoing method 300. Details will not be described again herein.
[0462] In some embodiments, S320 may alternatively be implemented in another manner.
[0463] For example, in a possible implementation, when the first stitching image includes padding pixels, first, the first stitching image is unpadded, and second, to obtain the second image and the seventh image, the first stitching image obtained through unpadding is vertically segmented, and finally, to obtain the first image, a new number of row pixels may be recut for the seventh image by using the number of row pixels of the first image as a granularity. When the first stitching image does not include padding pixels, to obtain the second image and the seventh image, the first stitching image is segmented, and to obtain the first image, a new number of row pixels is recut for the seventh image by using the number of row pixels of the first image as a granularity.
[0464] For example, when the number of pixels of the first stitching image is 1080×827, the first stitching image includes a second image, a seventh image, and padding pixels. The number of pixels of the second image is 1080×720, the padding pixels are in the last row of the seventh image within the first stitching image, and the number of padding pixels is 360. First, unpadding is performed on the padding pixels of the first stitching image so that the number of padding pixels 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, a new number of row pixels is recut for the seventh image using the number of row pixels (480) of the first image as the granularity to obtain the first image. In this case, the number of pixels of the obtained first image is 480×240.
[0465] In some embodiments, when the second image within the first stitching image is above the first image, the pixels of the second image can be buffered, so that the second image is still stably output during the time period of transmitting the first image. When the second image within the first stitching image is below the first image, the pixels of the first image can be buffered, so that the first image is still stably output during the time period of transmitting the second image.
[0466] For example, in another possible implementation, another method may include, when the first stitching image includes padding pixels, first, the first stitching image is unpadded, second, the first stitching image obtained through unpadding is segmented to obtain the second image and the eighth image, and finally, a new column pixel number is recut for the eighth image by using the column pixel number of the first image as the granularity to obtain the first image. When the first stitching image does not include padding pixels, the first stitching image is segmented to obtain the second image and the eighth image, and a new column pixel number is recut for the eighth image by using the row pixel number of the first image as the granularity to obtain the first image.
[0467] For example, when the pixel number of the first stitching image is 1240×720, the first stitching image includes the second image and the eighth image. The pixel number of the second image is 1080×720, and the column pixel number of the eighth image is 160×720. First, the first stitching image is segmented horizontally to obtain the second image and the eighth image. Finally, a new row pixel number is recut for the eighth image by using the column pixel number (240) of the first image as the granularity to obtain the first image. In this case, the pixel number of the obtained first image is 480×240.
[0468] For example, in yet another possible implementation, another method may include that the first stitching image is divided, then recombined and stitched to separately obtain the first image and the second image. In this case, the first stitching image may or may not include padding pixels.
[0469] It should be understood that different splitting methods, recombination methods, and stitching methods correspond to different processing complexities. When factors related to processing complexity are not considered, in order to obtain the first image and the second image, the first stitched image is split and then can be recombined and stitched with different splitting methods, as well as recombination and stitching methods.
[0470] For example, in order to obtain the second image and the sixth image, the aforementioned first stitched image is segmented horizontally, and in order to obtain a plurality of sub-images, the sixth image is segmented vertically, and in order to obtain the first image, the plurality of sub-images are stitched horizontally.
[0471] Neither the first image nor the second image obtained by another method contains padding pixels, and the pixel clocks corresponding to the first image and the second image (referring to the number of image pixels transmitted per second) are small. As a result, the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0472] In some embodiments, S320 in method 300 may be implemented by a second processing unit. For example, the second processing unit may include, but is not limited to, an FPGA unit and / or Ser.
[0473] In some embodiments, 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. As a result, different devices use the received images.
[0477] In some embodiments, S330 in method 300 may be implemented by a first transmission unit. S340 in method 300 may be implemented by a second transmission unit.
[0478] Optionally, in embodiments where the second processing unit includes an FPGA unit and a Ser, the 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 the steps of depadding and / or rotation in method 300.
[0479] In some embodiments, method 200 and method 300 may be implemented separately. In some other embodiments, method 200 and method 300 may be implemented in combination. This is not limited in the embodiments of the present application.
[0480] 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 in the first image processing apparatus performs S310, the second processing unit in the first image processing apparatus performs S320, the first transmission unit in the first image processing apparatus performs S330, and the second transmission unit in the first image processing apparatus performs S340.
[0481] In some embodiments, S320 may alternatively be replaced with S320''. Below, for the sake of explanation, an example where the method of implementing S320'' is method 1'', method 2'', or method 3'' is used.
[0482] Method 1'' includes S11'. For the related description of S11', please refer to the foregoing description. Details will not be described again in this specification. Further, 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. As a result, different devices process or use the received images.
[0485] Method 2’’ includes S21’ and S22’. For the related descriptions of S21’ and S22’, please refer to the foregoing descriptions. Details will not be described again in this specification. Further, in some embodiments, when method 300 further includes S330 and S340, S340 may alternatively be replaced by S340’’.
[0486] S340’’: Transmit 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. As a result, different devices process or use the received images.
[0488] Method 3’’ includes S31’ and S32’. For the related descriptions of S31’ and S32’, please refer to the foregoing descriptions. Details will not be described again in this specification. Further, in some embodiments, when method 300 further includes S330 and S340, S340 may alternatively be replaced by S340’’’.
[0489] S340’’: Transmit the fourth image via 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. As a result, different devices process or use the received images.
[0491] Embodiments of the present application further provide another image processing method 400. In the image processing method 400, a second process may be performed on the first stitching image to obtain the first image and the second image.
[0492] For example, FIG. 15 is a schematic flowchart of an example of the 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, and Q ≥ M.
[0495] In some embodiments, S410 may be performed by an acquisition unit.
[0496] Optionally, in some embodiments, S410 may be to obtain the first stitching image from the acquisition unit of the aforementioned first image processing apparatus.
[0497] S420: Perform a second process on the first stitching image to obtain the first image and the second image. The number of pixels of the first image is M × N, and M > N. The second process includes unpaddling the first stitching image to obtain a second stitching image. The second process further includes rotating and segmenting the second stitching image to obtain the first image and the second image.
[0498] In some embodiments, S420 specifically includes S421 to S423. Hereinafter, S421 to S423 will be specifically described.
[0499] S421: Unpaddle the first stitching image to obtain a second stitching image.
[0500] In some embodiments, unpaddling the first stitching image may be to perform column unpaddling on the third image in the first stitching image. As a result, 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 unpadded pixels is (Q - M) × N.
[0501] In some embodiments, to obtain the second stitching image, unpaddling may be performed starting from the first target position of the third image in the first stitching image. For example, the first target position includes at least one of the upper position, the lower position, or the middle position.
[0502] 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.
[0503] For the related description of performing unpaddling starting from the first target position of the third image in the first stitching image, please refer to the related description in FIG. 14. Details will not be described again in this specification.
[0504] S422: Segment the second stitching image to obtain the second image and the fourth image. In this case, the number of pixels of the fourth image is N × M.
[0505] In some embodiments, the second stitching image is segmented horizontally 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 matches the value of n described above.
[0509] For example, as shown in FIG. 12, in accordance with 423, to obtain the first image 541, the fourth image 543 is rotated (e.g., rotated 90° counterclockwise). 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, 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, and as a result, the different devices use the received images.
[0515] In some embodiments, S430 in method 400 may be performed by a first transmission unit. S440 in method 400 may be performed by a second transmission unit.
[0516] Optionally, in embodiments where the second processing unit includes an FPGA unit and Ser, Ser can 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 the steps of depadding and / or rotation in method 400.
[0517] In some embodiments, method 200 and method 400 may be implemented separately. In some other embodiments, method 200 and method 400 may be implemented in combination. This is not limited in the embodiments of the present application.
[0518] 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 in the first image processing apparatus performs S410, the second processing unit in the first image processing apparatus performs S420, the first transmission unit in the first image processing apparatus performs S430, and the second transmission unit in the first image processing apparatus performs S440.
[0519] According to the foregoing method 300 or 400, the second image does not need to be processed in the process of processing the first stitching image. In this way, the complexity of processing the second image is not further increased. In addition, each row of the first stitching 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 only by performing simple segmentation on the first stitching image. As a result, 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 corresponding to the first image and the second image (referring to the number of image pixels transmitted per second) are small. As a result, the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0520] In some embodiments, when the first image and / or the second image is an image formed by stitching a plurality of images, method 300 or method 400 further includes the step of segmenting the first image and / or the second image into a plurality of images. The method may further include the step of 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, and 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, M > N and N < Q. The number of row pixels of the second image is P, the number of column pixels is Q, and 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 examples. It should be understood that S221'' to S225'' are only 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 this 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, the twelfth image is unpadded. 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, unpadding the twelfth image may be performed by performing column unpadding 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, unpadding 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, the fourth stitching image is unpadded.
[0540] In some embodiments, column padding removal is performed on 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 P columns of the third stitching image is Q, and the number of pixels in K×N columns is M / K. In other words, the number of pixels in 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 removal may be performed 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'' to 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'': To obtain the fourth image, K sub-images are vertically stitched. The number of pixels of the fourth image is N×M.
[0549] In some embodiments, after S224'', S225'' may not be performed.
[0550] S225'': To obtain the first image, the fourth image is rotated.
[0551] In some embodiments, to obtain the first image, the fourth image is rotated by (-90°-180°×n). In this case, the number of row pixels of the first image is M×N.
[0552] Method 200'' may further include S330 and S340 described above. For the description of S330 and S340, please refer to the above description. Details are not described again in this specification.
[0553] In some embodiments, S221''~S227'' may be performed by the second processing unit. For example, the second processing unit may include, but is not limited to, an FPGA unit and / or Ser.
[0554] 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. In this case, method 200' includes S211' and S215'. This is not limited in the embodiments of the present application.
[0555] In some embodiments, the foregoing 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. The method 200''' includes S210''' to S220'''. Hereinafter, S210'' to S220''' will be specifically described.
[0557] S210'': Obtain a fifth stitching image. The number of pixels 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 foregoing method 200.
[0560] S220'': Obtain the first image and the second image based on the fifth 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 fifth stitching image is P + K × N, and the column pixel number is Q.
[0561] In the following, Method 1’’’ to Method 3’’’ are used as examples for explanation. It should be understood that Method 1’’’ to Method 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 this application.
[0562] Method 1’’’ Method 1’’’ may include S221’’’ to S225’’’. Hereinafter, S221’’ to S225’’’ will be specifically described.
[0563] S221’’: Segment the fifth stitching image to obtain the eleventh image and the second image.
[0564] In some embodiments, to obtain the eleventh image and the second image, the fifth stitching image is segmented horizontally.
[0565] The fifth 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, during the same period, the corresponding image data is output to both ports.
[0566] In some embodiments, after S221’’’, S224’’’ and S225’’’ may not be implemented.
[0567] S222’’’: Horizontally segment the eleventh image to obtain K sub-images. 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.
[0568] In some embodiments, after S222’’’, S223’’’ to S225’’’ may not be implemented.
[0569] S223’’’: To obtain the 10th image, K sub-images are vertically stitched. In this case, the number of row pixels of the 10th image is N, and the number of column pixels is K×Q.
[0570] If the 10th image does not contain padding pixels, S224’’’ does not need to be implemented, and S225’’’ is directly implemented. In this case, M = K×Q, and the 10th image becomes the 4th image. If the 10th image contains padding pixels, S224’’’ needs to be implemented. In this case, M < K×Q.
[0571] In some embodiments, after S223’’’, step S224’’’ and step S225’’’ may not be implemented.
[0572] S224’’: To obtain the 4th image, the 10th image is unpadded.
[0573] In some embodiments, unpadding the 10th image may be performed by performing column unpadding on the 10th image. As a result, the number of pixels in each column of the 10th image is reduced from K×Q to M, the number of pixels in each row remains unchanged, and is still N. In this case, the number of unpadded pixels is N×(K×Q - M), and the number of pixels of the 4th image is N×M.
[0574] In some embodiments, unpadding can be performed starting from the first target position of the 10th image to obtain the 4th image.
[0575] For some parts of the first target position not described, refer to the relevant description in S12. Details are not described again in this specification.
[0576] In some embodiments, after S224’’’, S225’’’ may not be implemented.
[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). In this case, the number of row pixels of the first image is M×N.
[0579] Method 2'' Method 2''' may include S226''' to S230'''. Hereinafter, S226'' to S230''' will be specifically described.
[0580] S226'': To obtain the third stitching image, unpaddle the fifth stitching image. In this case, the number of unpaddled pixels is N×(K×Q - M).
[0581] In some embodiments, unpaddling the fifth stitching image may be performed by unpaddling the rows of the fifth stitching image. As a result, the number of pixels in at least K×Q - M rows of the fifth stitching image is reduced from P + K×N to a maximum of P + (K - 1)×N.
[0582] In some embodiments, unpaddling is performed starting from the first target position of the fifth stitching image to obtain the third stitching image.
[0583] For some of the first target positions not described, refer to the relevant description in S12. Details will not be described again in this specification.
[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, during the same period, the corresponding image data is output to both ports.
[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). In this case, the number of row pixels of the first image is M×N.
[0594] Method 3''' Method 3''' may include S221''' and S231''' - S234'''. For the related description of S221''', please refer to the foregoing description. Details will not be described again in this specification. Hereinafter, S231'' - S234''' will be specifically described.
[0595] In some embodiments, after S221''', S231''' - S234''' may not be performed.
[0596] S231'': Unpad the eleventh image to obtain the thirteenth image. In this case, the number of unpadded pixels is N×(K×Q - M).
[0597] In some embodiments, unpadding the eleventh image may be performed by performing row unpadding on the eleventh image such that the number of pixels in at least K×Q - M rows of the eleventh image is reduced from P + K×N to a maximum of P + (K - 1)×N.
[0598] In some embodiments, to obtain the thirteenth image, unpadding may be performed starting from the first target position of the eleventh image.
[0599] For a part of the first target position not described, please refer to the related description in S12. Details will not be described again in this specification.
[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 S330 and S340 described above. For the descriptions of S330 and S340, please refer to the above descriptions. Details will not be described again in this specification.
[0609] In some embodiments, S220''' may be implemented 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 in the embodiments of the present application.
[0611] 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 S220''', 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.
[0612] In some embodiments, when the first image and / or the second image is an image formed by stitching a plurality of images, method 200'' or 200''' may further include the step of segmenting the first image and / or the second image into a plurality of images. The method may further include the step of transmitting different segmented images through different ports.
[0613] According to the foregoing method 200’’ or 200’’’, the second image does not need to be processed in the process of processing the fourth stitching image or the fifth stitching image. In this way, the complexity of processing the second image is not further increased. In addition, each row of the fourth stitching image or the fifth stitching 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 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. In addition, the obtained first image and the obtained 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. Thereby, the transmission efficiency of the first image and the second image is improved. 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 (referring to the number of image pixels transmitted per second) are small. As a result, the requirements for the interface on the device receiving the first image and the second image can be reduced.
[0614] Embodiments of the present application further provide another image processing method 500. In the image processing method 500, a second preprocessing is performed on a third image to obtain a first image.
[0615] For example, FIG. 16 is a schematic flowchart of an example of the 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: Obtain a third image.
[0618] In some embodiments, S510 may be performed by an acquisition unit.
[0619] Optionally, in some embodiments, S510 may be to obtain a third image by an acquisition unit of a second image processing apparatus.
[0620] S520: To obtain the first image, perform a second preprocessing on the third image. The second preprocessing includes rotating the third image, or the second preprocessing includes rotating the third image and removing padding.
[0621] In the embodiments of the present application, the manner of implementing S520 is not limited. Hereinafter, S520 will be described in detail by using methods A to C as examples.
[0622] In method A, to obtain the first image, the third image is rotated.
[0623] In some embodiments, to obtain the first image, the third image is rotated by (-90° - 180°×n).
[0624] For the related description of method A, refer to the foregoing related description of S12'. Details will not be described again in this specification.
[0625] Method B may include S521 and S522. Hereinafter, S521 and S522 will be specifically described.
[0626] S521: To obtain the fifth image, rotate the third image.
[0627] For the related description of S521, refer to the foregoing related description of S22'. Details will not be described again in this specification.
[0628] S522: To obtain the first image, remove the padding from the fifth image.
[0629] For the related description of S522, refer to the aforementioned related description of S23'. Details will not be described again in this specification.
[0630] Method C may include S521' and S522'. Hereinafter, S521' and S522' will be specifically described.
[0631] S521': To obtain the fourth image, unpaddle the third image.
[0632] For the related description of S521', refer to the aforementioned related description of S32'. Details will not be described again in this specification.
[0633] S522': To obtain the first image, rotate the fourth image.
[0634] For the related description of S522', refer to the aforementioned related description of S33'. Details will not be described again in this specification.
[0635] In some embodiments, S520 in method 500 may be implemented 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, method 500 further includes S530.
[0637] S530: Transmit the first image.
[0638] In some embodiments, S530 in method 500 may be implemented by a transmission unit.
[0639] In some embodiments, method 500 is implemented 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 implements S510, the third processing unit of the second image processing device implements S520, and the transmission unit of the second image processing device implements S530.
[0640] In some embodiments, the second image processing device further includes a display. 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, for example, the second image processing device includes, but is not limited to, an in-vehicle infotainment (IVI) device, a head-up display (HUD) device, and the like.
[0642] In some embodiments, the second image processing device further includes a second interface. The transmission unit of the second image processing device transmits the first image to the display via the second interface.
[0643] For example, in the embodiments of the present application, the second interface includes, but is not limited to, MIPI, oLDI, or DP.
[0644] The embodiments of the present application further provide another image processing method 600. In the image processing method 600, in order to acquire a first image, a fifth image can be unpadded.
[0645] For example, FIG. 17 is a schematic flowchart of an example of the image processing method 600 according to the embodiments of the present application.
[0646] As shown in FIG. 17, method 600 includes the following steps.
[0647] S610: Obtain the fifth image.
[0648] In some embodiments, S610 may be implemented by an acquisition unit.
[0649] Optionally, in some embodiments, S610 may be to obtain the fifth image by the acquisition unit of the second image processing device.
[0650] S620: To obtain the first image, depad the fifth image.
[0651] For the related description of S620, refer to the aforementioned related description of S23'. Details will not be described again in this specification.
[0652] In some embodiments, S620 in method 600 may be implemented 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, method 600 further includes S630.
[0654] S630: Transmit the first image.
[0655] In some embodiments, S630 in method 600 may be implemented by a transmission unit.
[0656] In some embodiments, the aforementioned second image processing device may further include an acquisition unit, a third processing unit, and a transmission unit. The acquisition unit of the second image processing device implements S610, the third processing unit of the second image processing device implements S620, and the transmission unit of the second image processing device implements S630.
[0657] In some embodiments, the second image processing apparatus further includes a display. The transmission unit of the second image processing apparatus transmits the first image to the display so that the second image processing apparatus displays the first image on the display.
[0658] In some embodiments, the second image processing apparatus further includes a second interface. The transmission unit of the second image processing apparatus transmits the first image to the display via the second interface.
[0659] Embodiments of the present application further provide 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 flowchart of an example of the 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: Obtain a fourth image.
[0663] In some embodiments, S710 may be performed by an acquisition unit.
[0664] Optionally, in some embodiments, S710 may be to obtain the fourth image by the acquisition unit of the second image processing apparatus.
[0665] S720: Rotate the fourth image to obtain the first image.
[0666] For the related description of S720, please refer to the aforementioned related description of S33'. Details will not be described again in this specification.
[0667] In some embodiments, S720 in method 700 may be implemented 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, method 700 further includes S730.
[0669] S730: Transmit a first image.
[0670] In some embodiments, S730 in method 700 may be implemented by a transmission unit.
[0671] In some embodiments, the aforementioned second image processing apparatus may further include an acquisition unit, a third processing unit, and a transmission unit. The acquisition unit of the second image processing apparatus implements S710, the third processing unit of the second image processing apparatus implements S720, and the transmission unit of the second image processing apparatus implements S730.
[0672] In some embodiments, the second image processing apparatus further includes a display. The transmission unit of the second image processing apparatus transmits the first image to the display so that the second image processing apparatus displays the first image on the display.
[0673] In some embodiments, the second image processing apparatus further includes a second interface. The transmission unit of the second image processing apparatus transmits the first image to the display via the second interface.
[0674] The first image obtained according to the foregoing 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 the transmission bandwidth. Thereby, the transmission efficiency of the first image is improved. In another aspect, the first image does not include padding pixels, and the pixel clock corresponding to the first image is small. As a result, the requirements for the interface on the device receiving the first image can be reduced.
[0675] Embodiments of the present application further provide yet another image processing method. In the method, the first image can be obtained based on the twelfth image, the eleventh image, or the thirteenth image.
[0676] In a possible implementation form, the method includes S810 and S222’’~S225’’.
[0677] S810: Obtain the twelfth image. 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’’~S225’’, please refer to the foregoing related description. Details are not described again in this specification.
[0679] In another possible implementation form, the method may include S810, S222’’, S226’’, and S227’’.
[0680] For the description of S222’’, S226’’, and S227’’, please refer to the foregoing related description. Details are not described again in this specification.
[0681] In yet another possible implementation form, the method may include S820 and S222’’~S225’’’.
[0682] S820: Obtain the eleventh image. The number of row pixels of the eleventh image is K×N, and the number of column pixels is Q.
[0683] For the description of S222’’’ to S225’’’, please refer to the related description above. 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. Details will not be described again in this specification.
[0686] In yet another possible implementation, the method may include S830 and S228’’ to S230’’’.
[0687] S830: Obtain the 13th image. The number of row pixels of the 13th image is K × N, and the number of column pixels is Q.
[0688] For the description of S228’’’ to S230’’’, please refer to the related description above. 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 implemented 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 includes S840.
[0691] S840: Transmit the first image.
[0692] In some embodiments, S840 in method 700 may be implemented by a transmission unit.
[0693] In some embodiments, the aforementioned second image processing apparatus may further include an acquisition unit, a third processing unit, and a transmission unit. The acquisition unit in the second image processing apparatus implements S810, S820, or S830, the third processing unit in the second image processing apparatus implements S222’’~S225’’, S222’’, S226’’, and S227’’, S222’’~S225’’, S231’’~S234’’, or S228’’~S230’’, and the transmission unit in the second image processing apparatus implements S840.
[0694] In some embodiments, the second image processing apparatus further includes a display. The transmission unit of the second image processing apparatus transmits the first image to the display so that the second image processing apparatus displays the first image on the display.
[0695] In some embodiments, the second image processing apparatus further includes a second interface. The transmission unit of the second image processing apparatus 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. In this way, in a subsequent process of transmitting the first image, in one aspect, the padding pixels do not occupy the transmission bandwidth. Thereby, the transmission efficiency of the first image is improved. In another aspect, the first image does not include padding pixels, and the pixel clock corresponding to the first image is small. As a result, the requirements for the interface on the device receiving the first image can be reduced.
[0697] In the embodiments of the present application, image stitching and / or segmentation are described by using the image in the displayed state. 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 has described in detail the image processing method provided in this application with reference to FIGS. 5 and 18. Hereinafter, with reference to FIGS. 19 to 23, embodiments of the image processing apparatus of this application will be described in detail. In order to implement the functions according to the foregoing embodiments, it can be understood that the image processing apparatus in FIGS. 19 to 23 includes corresponding hardware structures and / or software modules for implementing the functions. Those skilled in the art should easily recognize that, in combination with the units and method steps in the examples described in the embodiments disclosed in this application, this application can be implemented by using hardware or a combination of hardware and computer software. Whether the function is implemented using hardware or using 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 the configuration of an example of an image processing apparatus according to an embodiment of this application.
[0700] For example, as shown in FIG. 19, the image processing apparatus 800 includes a first processing unit 801 configured to obtain a first stitching image based on a first image and a second image, and a transmission unit 802 configured to transmit the first stitching image. The number of row pixels of the first image is M, the number of column pixels is N, M > N, 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, both P and Q are positive integers, the number of row pixels of the first stitching image is N + P, 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 preprocessing of the first image. The first preprocessing includes rotating the first image or includes rotating the first image and padding it.
[0701] For example, the first processing unit 801 includes a system-on-chip SoC.
[0702] In some embodiments, the fact that the first processing unit 801 is configured to obtain a first stitching image based on the first image and the second image includes that the first processing unit 801 is particularly configured to rotate the first image to obtain a third image and to stitch the third image and the second image to obtain the first stitching 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, to perform pixel padding on the fourth image to obtain a third image, and to stitch the third image and the second image to obtain the first stitching image.
[0705] Optionally, the fact that the first processing unit 801 is particularly configured to perform pixel padding on the fourth image to obtain the third image includes that the first processing unit 801 is 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 a middle 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, to rotate the fifth image to obtain a third image, and to stitch the third image and the second image to obtain the first stitching image.
[0707] Optionally, the first processing unit 801 is specifically configured to perform pixel padding on the first image in order to obtain a fifth image, which includes that the first processing unit 801 is specifically configured to perform pixel padding from a second target position of the first image in order to obtain a fifth image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0708] Optionally, the first processing unit 801 is further specifically configured to rotate the first image by (90° + 180°×n) in order to obtain a fifth image, where n is an integer.
[0709] In some other embodiments, the first processing unit 801 is specifically configured to rotate the first image in order to obtain a fourth image, stitch the fourth image and the second image in order to obtain a second stitching image, and perform pixel padding on the second stitching image in order to obtain a first stitching image.
[0710] Optionally, the first processing unit 801 is specifically configured to perform pixel padding on the fourth image in order to obtain a third image, which includes that the first processing unit 801 is specifically configured to perform pixel padding from a first target position of the fourth image in order to obtain a third image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0711] Optionally, the first processing unit 801 is further specifically configured to rotate the first image by (90° + 180°×n) in order to obtain a fourth image, where n is an integer.
[0712] Optionally, the transmitting unit 802 is specifically configured to transmit the first stitching image to a second processing unit or a transmission unit.
[0713] For example, the second processing unit includes an FPGA unit and / or Ser.
[0714] FIG. 20 is a schematic diagram of the configuration of another example of the image processing apparatus according to the embodiment of the present application.
[0715] For example, as shown in FIG. 20, the image processing apparatus 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 Ser.
[0717] In a possible implementation form, the acquisition unit 901 is configured to acquire a first stitching image. The second processing unit 902 is configured to perform a first process on the first stitching image to acquire a first image and a second image. The number of row pixels of the first stitching image is N + P, the number of column pixels is Q, the first stitching image includes a second image and a third image, and 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, the number of column pixels is Q, and Q ≥ M. The first process includes segmenting the first stitching image to acquire the second image and the third image. The first process further includes rotating the third image, or the first process further includes rotating the third image and removing padding.
[0718] In some embodiments, the second processing unit 902 is specifically configured to segment the first stitching image to acquire the second image and the third image, and to rotate the third image to acquire the first image.
[0719] Optionally, the second processing unit 902 is further specifically configured to rotate the third image by (-90° - 180° × n), where n is an integer, to acquire the first image.
[0720] In some other embodiments, the second processing unit 902 is specifically configured to segment the first stitching image to obtain the second and third images, rotate the third image to obtain the fifth image, and unpad the fifth image to obtain the first image.
[0721] Optionally, the fact that the second processing unit 902 is specifically configured to unpad the fifth image to obtain the first image includes that the second processing unit 902 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.
[0722] Optionally, the second processing unit 902 is further specifically configured to rotate the third image by (-90° - 180°×n) to obtain the fifth image, where n is an integer.
[0723] In some other embodiments, the second processing unit 902 is further specifically configured to segment the first stitching image to obtain the second and third images, unpad the third image to obtain the fourth image, and rotate the fourth image to obtain the first image.
[0724] Optionally, the fact that the second processing unit 902 is further specifically configured to unpad the third image to obtain the fourth image includes that the second processing unit 902 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 a middle position.
[0725] Optionally, the second processing unit 902 is further specifically configured to rotate the fourth image by (-90°-180°×n) to obtain the first image, where n is an integer.
[0726] Optionally, the apparatus 900 further includes a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit a second image via the first port, and the second transmission unit is configured to transmit a first image via the second port.
[0727] In another possible implementation, the acquisition unit 901 is configured to acquire a first stitching image. The second processing unit 902 is configured to perform a second process on the first stitching image to obtain the first image and the second image. 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 the third image, and 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 second process includes unpaddling the first stitching image to obtain a second stitching image. The second process further includes rotating and segmenting the second stitching image to obtain the first image and the second image.
[0728] In some embodiments, the second processing unit 902 is specifically configured to unpaddle the first stitching image to obtain a second stitching image, segment the second stitching image to obtain the second image and the fourth image, and rotate the fourth image to obtain the first image.
[0729] Optionally, the second processing unit 902 is specifically configured to unpaddle the first stitching image in order to obtain the second stitching image, which includes that the second processing unit 902 is specifically configured to perform unpaddling from the first target position of the third image in the first stitching image to obtain the second stitching image, and the first target position includes at least one of the upper position, the lower position, or the middle position.
[0730] Optionally, the second processing unit 902 is further specifically configured to rotate the fourth image by (-90° - 180°×n) to obtain the first image, where n is an integer.
[0731] Optionally, the apparatus 900 further includes a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit the second image through the first port, and the second transmission unit is configured to transmit the first image through the second port.
[0732] FIG. 21 is a schematic diagram of the configuration of another example of an image processing apparatus according to an embodiment of the present application.
[0733] For example, as shown in FIG. 21, the 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 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 a second preprocessing on the third image to obtain a first image. The second preprocessing includes rotating the third image, or the second preprocessing includes rotating the third image and unpaddling it.
[0736] In some embodiments, the third processing unit 1002 is specifically configured to rotate the third image in order to obtain the first image.
[0737] Optionally, the third processing unit 1002 is further specifically configured to rotate the third image by (-90° - 180°×n), where n is an integer, in order to obtain the first image.
[0738] In some other embodiments, the third processing unit 1002 is specifically configured to rotate the third image in order to obtain the fifth image, and to unpaddle the fifth image in order to obtain the first image.
[0739] Optionally, the fact that the third processing unit 1002 is specifically configured to unpaddle the fifth image in order to obtain the first image includes that the third processing unit 1002 performs unpaddling from a second target position of the fifth image in order 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.
[0740] Optionally, the third processing unit 1002 is further specifically configured to rotate the third image by (-90° - 180°×n), where n is an integer, in order to obtain the fifth image.
[0741] In some other embodiments, the third processing unit 1002 is specifically configured to unpaddle the third image in order to obtain the fourth image, and to rotate the fourth image in order to obtain the first image.
[0742] Optionally, the third processing unit 1002 is specifically configured to unpaddle the third image in order to obtain a fourth image, which includes that the third processing unit 1002 is specifically configured to perform unpaddling from a first target position of the third image in order to obtain a fourth image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0743] Optionally, the third processing unit 1002 is further specifically configured to rotate the fourth image by (-90° - 180°×n) in order to obtain a first image, where n is an integer.
[0744] Optionally, the apparatus 1000 further includes a transmission unit configured to transmit the first image.
[0745] In another possible implementation, the acquisition unit 1001 is configured to acquire a fifth image. The third processing unit 1002 is configured to unpaddle the fifth image in order to obtain a first image.
[0746] Optionally, the third processing unit 1002 being configured to unpaddle the fifth image in order to obtain a first image includes that the third processing unit 1002 is specifically configured to perform unpaddling from a second target position of the fifth image in order to obtain a first image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0747] Optionally, the apparatus 1000 further includes a transmission unit configured to transmit the first image.
[0748] In yet another possible implementation, the acquisition unit 1001 is configured to acquire a fourth image. The third processing unit 1002 is configured to rotate the fourth image in order to obtain a first image.
[0749] Optionally, the third processing unit 1002 is further specifically configured to rotate a fourth image by (-90° - 180°×n), where n is an integer, in order to obtain the first image.
[0750] Optionally, the apparatus 1000 further includes a transmission unit configured to transmit the first image.
[0751] FIG. 22 is a schematic diagram of the configuration of still another example of an image processing apparatus according to an embodiment of the present application.
[0752] For example, as shown in FIG. 22, the image processing apparatus 1100 includes a first processing unit 1101, a transmission unit 1102, an acquisition unit 1103, and a second processing unit 1104.
[0753] For example, the apparatus 1100 is a domain controller, such as a CDC or an 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 form, the first processing unit 1101 is configured to obtain a first stitching image based on the first image and the second image. The transmitting unit 1102 is configured to transmit the first stitching image. The obtaining unit 1103 is configured to obtain the first stitching image. The second processing unit 1104 is configured to perform a first process on the first stitching image in order 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 stitching image is N + P, and the number of column pixels is Q. The first stitching image includes the second image and the third image, and the third image is an image obtained through a first preprocessing of the first image. The first preprocessing includes rotating the first image or the first preprocessing includes rotating the first image and padding it. The first process includes segmenting the first stitching image in order to obtain the second image and the third image. The first process further includes rotating the third image or the first process further includes rotating the third image and unpadding it.
[0757] In some embodiments, the fact that the first processing unit 1101 is configured to obtain a first stitching image based on the first image and the second image includes that the first processing unit 1101 is particularly configured to rotate the first image in order to obtain the third image and stitch the third image and the second image in order to obtain the first stitching 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, in order to obtain the third image.
[0759] In some other embodiments, the first processing unit 1101 is specifically 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 fact that the first processing unit 1101 is specifically configured to perform pixel padding on the fourth image to obtain a third image includes that the first processing unit 1101 is specifically configured to perform pixel padding from a first target position of the fourth image to obtain a third image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0761] In some other embodiments, the first processing unit 1101 is specifically 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 fact that the first processing unit 1101 is specifically configured to perform pixel padding on the first image to obtain a fifth image includes that the first processing unit 1101 is specifically configured to perform pixel padding from a second target position of the first image to obtain a fifth image, and the second target position includes at least one of a left position, a right position, or a middle position.
[0763] Optionally, the first processing unit 1101 is further specifically configured to rotate the first image by (90° + 180°×n) to obtain a fifth image, where n is an integer.
[0764] In some other embodiments, the first processing unit 1101 is specifically configured to rotate the first image to obtain a fourth image, stitch the fourth image and the second image to obtain a second stitching image, and perform pixel padding on the second stitching image to obtain a first stitching image.
[0765] Optionally, the fact that the first processing unit 1101 is specifically configured to perform pixel padding on the fourth image to obtain a third image includes that the first processing unit 1101 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.
[0766] Optionally, the first processing unit 1101 is further specifically configured to rotate the first image by (90° + 180°×n) to obtain the fourth image, where n is an integer.
[0767] Optionally, the transmitting unit 1102 is specifically configured to transmit the first stitching image to the second processing unit 1104 or the transmission unit.
[0768] In some embodiments, the first processing unit 1101 is specifically configured to segment the first stitching image to obtain the second image and the third image, and rotate the third image to obtain the first image.
[0769] Optionally, the second processing unit 1104 is further specifically configured to rotate the third image by (-90° - 180°×n) to obtain the first image, where n is an integer.
[0770] In some other embodiments, the second processing unit 1104 is specifically configured to segment the first stitching image to obtain the second and third images, rotate the third image to obtain the fifth image, and unpad the fifth image to obtain the first image.
[0771] Optionally, the fact that the second processing unit 1104 is specifically configured to unpad the fifth image to obtain the first image includes that the second processing unit 1104 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.
[0772] Optionally, the second processing unit 1104 is further specifically configured to rotate the third image by (-90° - 180° × n) to obtain the fifth image, where n is an integer.
[0773] In some other embodiments, the second processing unit 1104 is further specifically configured to segment the first stitching image to obtain the second and third images, unpad the third image to obtain the fourth image, and rotate the fourth image to obtain the first image.
[0774] Optionally, the fact that the second processing unit 1104 is further specifically configured to unpad the third image to obtain the fourth image includes that the second processing unit 1104 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 a middle position.
[0775] Optionally, the second processing unit 1104 is further specifically configured to rotate the fourth image by (-90° - 180° × n) to obtain the first image, where n is an integer.
[0776] Optionally, the apparatus 1100 further includes a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit a second image via the first port, and the second transmission unit is configured to transmit a first image via the second port.
[0777] In another possible implementation, the first processing unit 1101 is configured to obtain a first stitching image based on the first image and the second image. The transmission unit 1102 is configured to transmit the first stitching image. The acquisition unit 1103 is configured to acquire the first stitching image. The second processing unit 1104 is configured to perform a second process on the first stitching 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 stitching image is N + P, and the number of column pixels is Q. The first stitching image includes the second image and the third image, and the third image is an image obtained through a first preprocessing of the first image. The first preprocessing includes rotating the first image, or the first preprocessing includes rotating and padding the first image. The second process includes unpadding the first stitching image to obtain a second stitching image. The second process further includes rotating and segmenting the second stitching image to obtain the first image and the second image.
[0778] In some embodiments, the fact that the first processing unit 1101 is configured to obtain a first stitching image based on a first image and a second image includes that the first processing unit 1101 is particularly configured to rotate the first image to obtain a third image and to stitch the third image and the second image to obtain the first stitching 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, to perform pixel padding on the fourth image to obtain a third image, and to stitch the third image and the second image to obtain the first stitching image.
[0781] Optionally, the fact that the first processing unit 1101 is particularly configured to perform pixel padding on the fourth image to obtain the third image includes that the first processing unit 1101 is particularly configured to perform pixel padding starting 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.
[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, to rotate the fifth image to obtain a third image, and to stitch the third image and the second image to obtain the first stitching image.
[0783] Optionally, the first processing unit 1101 is specifically configured to perform pixel padding on the first image in order to obtain a fifth image, which includes that the first processing unit 1101 is specifically configured to perform pixel padding from a second target position of the first image to obtain a fifth image, and the second target position is specifically configured to include at least one of a left position, a right position, or a middle position.
[0784] Optionally, the first processing unit 1101 is further specifically configured to rotate the first image by (90° + 180°×n), where n is an integer, in order to obtain a fifth image.
[0785] In some other embodiments, the first processing unit 1101 is specifically configured to rotate the first image to obtain a fourth image, stitch the fourth image and the second image to obtain a second stitching image, and perform pixel padding on the second stitching image to obtain a first stitching image.
[0786] Optionally, the first processing unit 1101 is specifically configured to perform pixel padding on the fourth image in order to obtain a third image, which includes that the first processing unit 1101 is specifically configured to perform pixel padding from a first target position of the fourth image to obtain a third image, and the first target position includes at least one of an upper position, a lower position, or a middle position.
[0787] Optionally, the first processing unit 1101 is further specifically configured to rotate the first image by (90° + 180°×n), where n is an integer, in order to obtain a fourth image.
[0788] Optionally, the transmitting unit is specifically configured to transmit the first stitching image to the second processing unit 1104 or the transmission unit.
[0789] In some embodiments, the second processing unit 1104 is specifically configured to unpaddle the first stitching image to obtain the second stitching image, segment the second stitching image to obtain the second image and the fourth image, and rotate the fourth image to obtain the first image.
[0790] Optionally, the second processing unit 1104 is specifically configured to unpaddle the fifth image to obtain the first image, which includes that the second processing unit 1104 performs unpaddling from the second target position of the fifth image to obtain the first image, and the second target position is specifically configured to include at least one of a left position, a right position, or a middle position.
[0791] Optionally, the second processing unit 1104 is further specifically configured to rotate the fourth image by (-90° - 180°×n) to obtain the first image, where n is an integer.
[0792] Optionally, the apparatus 1100 further includes a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit the second image via the first port, and the second transmission unit is configured to transmit the first image via the second port.
[0793] In some other embodiments, the second processing unit 1104 is specifically configured to unpaddle the first stitching image to obtain the second stitching image, segment the second stitching image to obtain the second image and the fourth image, and rotate the fourth image to obtain the first image.
[0794] Optionally, the second processing unit 1104 is particularly configured to unpaddle a fifth image in order to obtain a first image, which includes that the second processing unit 1104 is particularly configured to perform unpaddling 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.
[0795] Optionally, the second processing unit 1104 is further particularly configured to rotate a fourth image by (-90° - 180°×n) to obtain a first image, where n is an integer.
[0796] Optionally, the apparatus 1100 further includes a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit a second image through the first port, and the second transmission unit is configured to transmit a first image through the second port.
[0797] In some embodiments, the units (or components) included in the apparatus 800, apparatus 900, apparatus 1000, or apparatus 1100 may be arranged within one unit (or component). In some other embodiments, at least two units (or components) within the units (or components) included in the apparatus 800, apparatus 900, apparatus 1000, or apparatus 1100 are arranged within the same unit. This is not limited in the embodiments of the present application.
[0798] FIG. 23 is a schematic diagram of the configuration of another example of an image processing apparatus according to an embodiment of the present application.
[0799] As shown in FIG. 23, the image processing apparatus 1200 includes at least one processor 1201 and an interface circuit 1202.
[0800] Optionally, the image processing apparatus 1200 may further include a memory 1203, and the memory 1203 is configured to store a program.
[0801] For example, the memory 1203 can be a read only memory (ROM), a static memory device, a dynamic memory 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 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. In other words, the processor 1201 may obtain instructions stored from the memory 1203 via the interface circuit 1202 to perform 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.
[0802] For example, the processor 1201 may use a general-purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), a graphic processing unit (GPU), or one or more integrated circuits to execute a related program to implement the functions that need to be implemented by the units in any one of the possible implementation forms in the image processing apparatus 1200 provided in the embodiments of the present application, or may be configured to execute 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.
[0803] For example, the processor 1201 may alternatively be an integrated circuit chip and have signal processing capabilities. In an implementation process, the steps of the image processing methods 200, 200', 300, 400, 200'', 500, 600, or 700 provided in the embodiments of the present application may be completed by integrated logic circuits in the form of hardware or instructions in the form of software in the processor.
[0804] For example, processor 1201 may alternatively be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), an FPGA or another programmable logic device, discrete gate or transistor logic device, or discrete hardware components. The steps of the image processing methods 200, 200', 300, 400, 200'', 500, 600, or 700 provided in the embodiments of the present application may be implemented or carried out. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor or the like. The steps of the image processing methods 200, 200', 300, 400, 200'', 500, 600, or 700 provided in the embodiments of the present application may be directly executed and completed by using a hardware decoding processor, or may be executed and completed by using a combination of a hardware module and a software module in the decoding processor. The software module may be disposed in a mature storage medium 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 disposed in the memory. The processor needs to read the information in the memory and, in combination with the hardware of the processor, complete the functions that need to be executed by a unit included in any one of the possible implementation forms of the image processing apparatus 1200 according to the embodiments of the present application, or implement the steps of the image processing methods 200, 200', 300, 400, 200'', 500, 600, or 700 provided in the embodiments of the present application.
[0805] For example, the interface circuit 1202 can 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 descriptions of the procedures corresponding to the foregoing accompanying drawings each have their respective focuses. For parts not described in detail in the procedure, refer to the relevant descriptions of other procedures.
[0807] Embodiments of the present application further provide a computer-readable storage medium. The computer-readable storage medium has program instructions. When the program instructions are executed directly or indirectly, the foregoing image processing method is implemented.
[0808] Embodiments of the present application further provide a terminal device. The terminal device includes the foregoing first image processing apparatus and / or the foregoing second image processing apparatus.
[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 transportation vehicle.
[0810] Embodiments of the present application further provide a computer program product including a description. When the computer program product operates on a computing device, the computing device is enabled to implement the foregoing image processing method or the computing device is enabled to implement the functions of the foregoing image processing apparatus.
[0811] Embodiments of the present application further provide a chip including at least one processor and an interface circuit. The interface circuit is configured to provide program instructions or data to the at least one processor. The at least one processor is configured to execute program instructions to implement the aforementioned image processing method.
Explanation of Signs
[0812] 10 First device 11 SoC 12 Ser 20 Second device 21 Des 22 Display 30 Third device 31 Des 32 Display 121a Port 121b Cable 122a Port 122b Cable 200 Image processing method 200’ Image processing method 200’’ Image processing method 200’’’ Image processing method 300 Image processing method 400 Image processing method 500 Image processing method 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 area 50322 First gap area 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 area 5234 Second gap area 524 Third image 5241 Fifth image 5242 Fifth image 5243 Fifth 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 Sixth image 600 Image processing method 700 Image processing method 800 Image processing apparatus 801 First processing unit 802 Transmission unit 900 Image processing apparatus 901 Acquisition unit 902 Second processing unit 1000 Image processing apparatus 1001 Acquisition unit 1002 Third processing unit 1100 Image processing apparatus 1101 First processing unit 1102 Transmission unit 1103 Acquisition unit 1104 Second processing unit 1200 Apparatus 1201 Processor 1202 Interface circuit 1203 Memory
Claims
1. An image processing apparatus, wherein the apparatus comprises: a first processing unit configured to obtain a first stitching image based on a first image and a second image; a transmission unit configured to transmit the first stitching image; and 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 stitching image is N + P, 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 through a first preprocessing of the first image, the first preprocessing includes rotating the first image or the first preprocessing includes rotating the first image and performing padding; the first processing unit rotates the first image to obtain a fourth image; performs pixel padding on the fourth image to obtain the third image; and stitches the third image and the second image to obtain the first stitching image and is configured as such; the fact that the first processing unit is particularly configured to perform pixel padding on the fourth image to obtain the third image includes that the first processing unit is 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 a middle position and includes; an image processing apparatus.
2. 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, for the apparatus according to Claim 1.
3. The transmission unit is particularly configured to transmit the first stitching image to a second processing unit or a transmission unit, for the apparatus according to Claim 1 or 2.
4. The first processing unit includes a system-on-chip (SoC), for the apparatus according to Claim 1 or 2.
5. The transmission unit Transmit the first stitching image to a second processing unit or a transmitting unit Specifically configured to The second processing unit comprises a field programmable gate array (FPGA) unit and / or a serializer (Ser). The device according to claim 4 **Claim 6** An image processing device, the device comprising An acquisition unit configured to acquire a first stitching image; A second processing unit configured to perform a first process on the first stitching image to acquire a first image and a second image; Comprising The first stitching image has N + P row pixels and Q column pixels. The first stitching image includes the second image and the third image, where N, P, and Q are all positive integers. The first image has M row pixels and N column pixels, where M > N and M is a positive integer. The second image has P row pixels and Q column pixels, where Q ≥ M. The first process includes segmenting the first stitching image to acquire the second image and the third image. The first process further includes rotating the third image, or the first process further includes rotating the third image and then unpaddling it. The second processing unit Segments the first stitching image to acquire the second image and the third image. Unpaddles the third image to acquire a fourth image. Rotates the fourth image to acquire the first image. Further configured to The fact that the second processing unit is further specifically configured to unpaddle the third image to acquire the fourth image The second processing unit is specifically configured to perform unpaddling starting from a first target position of the third image to acquire the fourth image, where the first target position includes at least one of an upper position, a lower position, or a middle position Including An image processing device **Claim 7** The second processing unit Is further specifically configured to rotate the fourth image by (-90° - 180°×n) to acquire the first image, where n is an integer. The device according to claim 6 **Claim 8** The device further comprises a first transmission unit, a second transmission unit, a first port, and a second port. The first transmission unit is configured to transmit the second image via the first port. The second transmission unit is configured to transmit the first image via the second port. The device according to claim 6 or 7.
9. The device according to any one of claims 6 to 8, wherein the second processing unit comprises a field programmable gate array (FPGA) unit and / or a serializer (Ser).
10. An image processing method, the method comprising: obtaining a first stitching image based on a first image and a second image; transmitting the first stitching image. The method includes: wherein 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 stitching image is N + P, 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 through a first preprocessing of the first image, and the first preprocessing includes rotating the first image or the first preprocessing includes rotating and padding the first image; The step of obtaining a first stitching image based on a first image and a 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 stitching image. The method includes: The step of performing pixel padding on the fourth image to obtain the third image includes: performing pixel padding on the fourth image starting from a first target position, where the first target position includes at least one of an upper position, a lower position, or a middle position. The method includes: An image processing method.
11. The step of rotating the first image to obtain a fourth image is: The step of rotating the first image by (90° + 180°×n) to obtain the fourth image, where n is an integer The method according to claim 10, comprising: **Claim 12** An image processing method, the method comprising: Obtaining a first stitching image; Performing a first process on the first stitching image to obtain a first image and a second image; comprising: The number of row pixels of the first stitching image is N + P, the number of column pixels is Q, the first stitching image includes the second image and a third image, and 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, the number of column pixels is Q, and Q ≥ M; The first process includes segmenting the first stitching image to obtain the second image and the third image; The first process further includes rotating the third image, or the first process further includes rotating the third image and then unpaddinging it; The step of performing a first process on the first stitching image to obtain a first image and a second image is: Segmenting the first stitching image to obtain the second image and the third image; Unpaddinging the third image to obtain a fourth image; Rotating the fourth image to obtain the first image; comprising: The step of unpaddinging the third image to obtain a fourth image is: The step of unpaddinging the third image from a first target position to obtain the fourth image, where the first target position includes at least one of an upper position, a lower position, or a middle position; comprising: An image processing method. **Claim 13** The step of rotating the fourth image to obtain the first image is: A step of rotating the fourth image by (-90° - 180°×n) to obtain the first image, where n is an integer The method according to claim 12, comprising this step
14. The method includes A step of transmitting the second image through a first port A step of transmitting the first image through a second port The method according to claim 12 or 13, further comprising these steps
15. A cockpit domain controller CDC, wherein the device includes the image processing device according to any one of claims 1 to 5 and the image processing device according to any one of claims 6 to 9
16. A mobile data center MDC, wherein the device includes the image processing device according to any one of claims 1 to 5 and the image processing device according to any one of claims 6 to 9
17. A computer-readable storage medium that stores a computer program or instructions, and when the computer program or the instructions are executed, the computer is enabled to implement the method according to 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