US20150254820A1 - Semiconductor integrated circuit and multi-angle video system - Google Patents

Semiconductor integrated circuit and multi-angle video system Download PDF

Info

Publication number
US20150254820A1
US20150254820A1 US14/718,854 US201514718854A US2015254820A1 US 20150254820 A1 US20150254820 A1 US 20150254820A1 US 201514718854 A US201514718854 A US 201514718854A US 2015254820 A1 US2015254820 A1 US 2015254820A1
Authority
US
United States
Prior art keywords
image data
semiconductor memory
image
command
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/718,854
Inventor
Hiroshi Osuga
Takaaki Suzuki
Atsushi Kiuchi
Kazuhide Kawade
Hiroyuki Hamasaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to US14/718,854 priority Critical patent/US20150254820A1/en
Publication of US20150254820A1 publication Critical patent/US20150254820A1/en
Assigned to RENESAS ELECTRONICS CORPORATION reassignment RENESAS ELECTRONICS CORPORATION CHANGE OF ADDRESS Assignors: RENESAS ELECTRONICS CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • G06T5/006
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
    • H04N5/2173
    • H04N5/357
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image

Definitions

  • the present invention relates to a semiconductor integrated circuit for performing image process and a technique effectively applied to, for example, a multi-angle video system.
  • a multi-angle video system is known as a system that supports safe and smooth driving operation of a vehicle in a parking area and the like.
  • the multi-angle video system generates an image (overview image) of a view of the periphery of the vehicle from the above of the vehicle on the basis of video images of the periphery taken by a plurality of in-vehicle cameras mounted on the vehicle, and displays the image on a display in the car.
  • Documents describing techniques of this kind include Patent documents 1 and 2.
  • Patent document 1 describes a technique in which a camera having a fish-eye lens is used as an in-vehicle camera, only an image in a predetermined region to be used for generating a vehicle periphery image is extracted from an image formed on an image pickup face, the viewpoint of the extracted image is converted to an overview image, and obtained overview images are synthesized, thereby forming a vehicle peripheral image.
  • Patent document 2 describes an image processing apparatus for a vehicle, having a plurality of cameras, distortion correcting units corresponding to the cameras, and a projection transforming unit.
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2009-267603
  • Patent Document 2 Japanese Unexamined Patent Publication No. 2009-171537
  • SoC System-on-a-Chip
  • images captured by the plural in-vehicle cameras have to be buffered in a semiconductor memory.
  • the semiconductor memory is coupled to a bus in a processor. While image data captured by the plural in-vehicle cameras is sequentially stored in the semiconductor memory, the image data in the semiconductor memory is read and processed, and the resultant image data is displayed on a display device.
  • An object of the present invention is to provide a technique for lessening the load on the bus in the case of storing image data captured by a plurality of cameras into a semiconductor memory.
  • the semiconductor integrated circuit includes a plurality of first interfaces for fetching image data captured by the cameras; a second interface enabling data to be transmitted/received to/from the semiconductor memory; and a bus to which the second interface is coupled.
  • the semiconductor integrated circuit also includes a plurality of image processing modules disposed in correspondence with the first interfaces and for performing a predetermined data process on image data transmitted via the corresponding first interfaces.
  • the image processing modules include a process of performing distortion correction on image data in a pre-designated region, and writing the image data in the region subjected to the distortion correction into the semiconductor memory via the bus and the second interface.
  • the load on a bus in the case of storing image data captured by a plurality of cameras into a semiconductor memory can be lessened.
  • FIG. 1 is a block diagram showing an example of the configuration of a multi-angle video system including a processor as an example of a semiconductor integrated circuit according to the present invention.
  • FIG. 2 is an explanatory diagram of images in main parts of the processor illustrated in FIG. 1 .
  • FIG. 3 is an explanatory diagram of the images processed by the processor illustrated in FIG. 1 .
  • FIG. 4 is a block diagram showing an example of the configuration of an image processing module in the processor illustrated in FIG. 1 .
  • FIGS. 5A to 5C are format explanatory diagrams of a display list executed by the image processing module in the processor illustrated in FIG. 1 .
  • FIG. 6 is a diagram for explaining the relations among a line memory in the image processing module in the processor illustrated in FIG. 1 , a head line designation register, a mesh size register, an end line designation register, and an SYNCW command.
  • FIGS. 7A and 7B are diagrams explaining distortion correcting process performed in a process block in the image processing module in the processor illustrated in FIG. 1 .
  • FIG. 8 is a block diagram showing an example of the configuration of a display control unit included in the processor illustrated in FIG. 1 .
  • FIG. 9 is diagram explaining storage regions in a semiconductor memory included in the multi-angle video system illustrated in FIG. 1 .
  • FIG. 10 is a flowchart of processes in the processor illustrated in FIG. 1 .
  • FIG. 11 is a flowchart of processes in the processor illustrated in FIG. 1 .
  • FIG. 12 is a diagram explaining the relations between image capturing timings of a camera in the multi-angle video system and time of storage of image data to the semiconductor memory.
  • FIG. 13 is a diagram explaining the relations between image capturing timings of a camera in the multi-angle video system and time of storage of image data to the semiconductor memory.
  • FIG. 14 is a diagram explaining the relations between image capturing timings of a camera and time of storage of image data to the semiconductor memory in the case of employing the configuration illustrated in FIG. 15 .
  • FIG. 15 is a block diagram showing an another configuration example of the multi-angle video system including the processor as an example of the semiconductor integrated circuit according to the present invention.
  • a semiconductor integrated circuit ( 10 ) can be coupled.
  • the semiconductor integrated circuit includes: a plurality of first interfaces for fetching image data captured by the cameras; a second interface ( 21 ) enabling data to be transmitted/received to/from the semiconductor memory; and a bus ( 22 ) to which the second interface is coupled.
  • the semiconductor integrated circuit also includes a plurality of image processing modules ( 15 to 18 ) disposed in correspondence with the first interfaces and for performing a predetermined data process on image data transmitted via the corresponding first interfaces.
  • the image processing modules ( 15 to 18 ) include a process of performing distortion correction on image data in a pre-designated region, and writing the image data in the region subjected to the distortion correction into the semiconductor memory via the bus and the second interface.
  • distortion correction is performed on image data in a pre-designated region by a plurality of image processing modules, and the image data in the region subjected to the distortion correction is written in the semiconductor memory via the bus and the second interface. Consequently, by excluding the image data out of the pre-designated region from an object of distortion correction in the image processing modules, the amount of image data transferred from the image processing modules to the semiconductor memory via the bus and the second interface can be largely reduced, the load on the bus due to the write access to the semiconductor memory can be lessened, and other data processes using the bus are not undesirably delayed.
  • the image processing module executes a process of performing distortion correction on image data in a pre-designated region and writing the image data in the region subjected to the distortion correction into the semiconductor memory via the bus and the second interface, so that the process of extracting the image data in the pre-designated region and the process of performing the distortion correction on the image in the region extracted can be simultaneously performed. Therefore, as compared with the case of separately performing the process of extracting image data in a pre-determined region and the process of performing the distortion correction on the image in the region extracted by different process blocks, the speed of the process can be increased.
  • the semiconductor integrated circuit in [1] may be provided with a display control unit ( 19 ) for fetching image data processed by the plural image processing modules, synthesizing the image data, and displaying the resultant image data on a display device.
  • the image processing module may include: a line memory ( 41 ) for storing image data received via the first interfaces; a display list buffer ( 43 ) for storing a display list which is preliminarily formed; and a process block ( 42 ) for performing the distortion correction on image data in the line memory in accordance with the display list.
  • a first command for instructing coordinate transformation of image data stored in the line memory and storage of the coordinate-transformed image data into the semiconductor memory and a second command (SYNCW command) for making execution of a next display list waited until a predetermined condition is satisfied
  • a second command for making execution of a next display list waited until a predetermined condition is satisfied
  • a third command for generating a predetermined interruption signal at a timing point when image data of one screen is obtained by process in the process block can be also written.
  • the first, second, and third commands are executed in the process block.
  • the semiconductor integrated circuit of [4] may further include a central processing unit ( 20 ) coupled to the bus.
  • the central processing unit includes a process of writing corresponding image data in the semiconductor memory into the display control unit via the bus by an interrupting process corresponding to an interruption signal caused by the third command in the display list.
  • the semiconductor integrated circuit of [5] may be further provided with a port ( 151 ) capable of outputting a sync signal for controlling the image capturing timings of the plural cameras to the outside in order to make the image capturing timings of the plural cameras proper.
  • a multi-angle video system ( 100 ) can be configured by the semiconductor integrated circuit of [6] and the plural cameras and the semiconductor memory coupled to the semiconductor integrated circuit.
  • FIG. 1 illustrates a multi-angle video system including a processor as an example of a semiconductor integrated circuit according to the present invention.
  • a multi-angle video system 100 illustrated in FIG. 1 includes a processor 10 , a plurality of cameras 31 to 34 , a semiconductor memory (DDR) 35 , and a display device (LCD) 36 .
  • DDR semiconductor memory
  • LCD display device
  • the processor 10 is, although not limited, an SoC provided with functions necessary for the operation of the multi-angle video system, and is formed on a single semiconductor substrate such as a single-crystal silicon substrate by the known semiconductor integrated circuit manufacturing technique.
  • the processor 10 illustrated in FIG. 1 is provided with camera coupling terminals T 1 to T 4 , a semiconductor memory coupling terminal T 5 , and a display device coupling terminal T 6 .
  • the cameras 31 to 34 are coupled to the camera coupling terminals T 1 to T 4 , respectively.
  • the cameras 31 to 34 are attached to a vehicle to capture images on the front, rear, right and left sides of the vehicle. As each of the cameras 31 to 34 , a camera having a fish-eye lens can be applied.
  • the fish-eye lens has the angle of view of about 180 degrees and can display an image of a wide range.
  • the image is distorted and, particularly, distortion in a periphery part of the image is considerable, so that distortion correction is performed.
  • a technique itself for correcting the distortion caused by the fish-eye lens is known (refer to, for example, patent document 1).
  • the semiconductor memory (DDR) 35 is, although not limited, a DDR SDRAM (Double-Data-Rate Synchronous Dynamic Random Access Memory) which can transmit/receive data at each of the rising/trailing edges of a clock signal and can obtain data transfer speed which is twice as high as that of an SDRAM operating at the same clock theoretically.
  • the display device (LCD) 36 is a liquid crystal display in a vehicle.
  • the processor 10 illustrated in FIG. 1 includes, although not limited, interfaces 11 to 14 and 21 , image processing modules (IMR) 15 to 18 , a display control unit (DU) 19 , and a central processing unit (CPU) 20 .
  • the image processing units (IMRs) 15 to 18 , the display control unit 19 , the central processing unit 20 , and the interface 21 are coupled so that a signal can be transmitted/received from each other via a bus 22 .
  • the interfaces 11 to 14 are coupled to the camera coupling terminals Ti to T 4 , respectively and fetch image data from the corresponding cameras 31 to 34 .
  • the interface 21 is disposed in correspondence with the semiconductor memory coupling terminal T 5 so that data can be transmitted/received to/from the semiconductor memory 35 .
  • the image processing modules 15 to 18 are disposed in correspondence with the interfaces 11 to 14 , respectively and have the functions of performing distortion correction on image data in a pre-designated region and writing the distortion-corrected image data in the region into the semiconductor memory 35 via the interface 21 .
  • the image processing modules 15 to 18 can correct not only distortion but also brightness and hue.
  • the display control unit 19 fetches the image capturing data subjected to the distortion correction process in the semiconductor memory 35 via the interface 21 , performs superimposing process on the data, and outputs the process result to the display device 36 .
  • the central processing unit 20 performs operation control on each of the components by executing a predetermined program.
  • the operation control includes initial setting to registers in the image processing modules 15 to 18 and the display control unit 19 , setting of a display list (DL) to the semiconductor memory 35 , switching of the data storage region in the semiconductor memory 35 to which the image data processed by the image processing modules 15 to 18 is to be stored, and re-setting of a data fetch address in the display control unit 19 .
  • DL display list
  • FIG. 2 schematically shows images in main parts of the processor 10 illustrated in FIG. 1 .
  • Images 1 , 2 , 3 , and 4 are obtained by image capturing in the cameras 31 to 34 each having a fish-eye lens. It is assumed that the image 1 on the front side of the vehicle is captured by the camera 31 , the image 2 on the rear side of the vehicle is captured by the camera 32 , the image 3 on the right side of the vehicle is captured by the camera 33 , and the image 4 on the left side of the vehicle is captured by the camera 34 .
  • the image data is transmitted to the image processing modules 15 , 16 , 17 , and 18 via the corresponding interfaces 11 , 12 , 13 , and 14 , respectively.
  • the images captured by the cameras 31 , 32 , 33 , and 34 respectively, supplied to the processor 10 via the terminals T 1 , T 2 , T 3 , and T 4 , respectively, and output from the interfaces 11 , 12 , 13 , and 14 , respectively.
  • the image processing module 15 distortion caused by the fish-eye lens is corrected on the image in the pre-designated region (the region surrounded by the dotted line) in the input image 1 (image A), and the image in the region subjected to the distortion correction is written in the semiconductor memory 35 .
  • distortion caused by the fish-eye lens is corrected on the image in the pre-designated region (the region surrounded by the dotted line) in the input image 2 (image B), the image in the region subjected to the distortion correction is turned by 180 degrees, and the resultant image is written in the semiconductor memory 35 .
  • distortion caused by the fish-eye lens is corrected on the image in the pre-designated region (the region surrounded by the dotted line) in the input image 3 (image C), the image in the region subjected to the distortion correction is turned rightward by 90 degrees, and the resultant image is written in the semiconductor memory 35 .
  • the image processing module 18 distortion caused by the fish-eye lens is corrected on the image in the pre-designated region (the region surrounded by the dotted line) in the input image 4 (image D), the image in the region subjected to the distortion correction is turned leftward by 90 degrees, and the resultant image is written in the semiconductor memory 35 .
  • the images written in the semiconductor memory 35 are read by the display control unit 19 .
  • the images read from the semiconductor memory 35 are stored in planes in the display control unit 19 , the images in the planes are synthesized so as to be disposed in predetermined positions, for example, as shown in FIG. 3 , and the resultant image is transmitted and displayed in the display device 36 .
  • FIG. 4 illustrates an example of the configuration of the image processing module 15 .
  • the image processing module 15 includes, although not limited, a line memory 41 , a process block 42 , a display list buffer 43 , a memory control register 44 , a line memory control register 45 , and an IMR control register (CR) 46 .
  • the line memory 41 is a memory for storing image data supplied via the interface 11 in correspondence with a scan line in a display system.
  • the process block 42 performs distortion correction on the image data in the pre-designated region.
  • the process block 42 can also correct the brightness and hue on the image data in the region.
  • the process in the process block 42 is performed in accordance with the predetermined display list (DL).
  • the process block 42 has the DMA (Direct Memory Access) function, and the image data processed by the process block 42 is written in the image memory 35 via the bus 22 and the interface 21 by the DMA function.
  • DMA Direct Memory Access
  • the display list is a list of the processes performed in the process block 42 .
  • the display list is preliminarily set and stored in the semiconductor memory 35 , and is fetched by the image processing module 15 into the display list buffer 43 as necessary.
  • the memory control register 44 is a register used for control on the semiconductor memory 35 and includes a DL start address register DLSAR and a destination start address register DSAR.
  • the DL start address register DLSAR holds the head address of a storage region in which the display list is stored in the semiconductor memory 35 .
  • the destination start address register DSAR holds the head address of a storage region in which the data subjected to distortion correction is stored in the semiconductor memory 35 .
  • the line memory control register 45 is a register used for control on the line memory 41 and includes the head line designation register LSPR, the mesh size register LMSR, and the end line designation register LEPR.
  • the head line designation register LSPR is a register for setting the number of line memories for cancelling a wait state set by an SYNCW (SYNChronize Wait) command.
  • the mesh size register LMSR is a register for setting the number of line memories for cancelling the wait state set by the SYNC command.
  • the end line designation register LEPR is a register for setting the number of line memories for uncancelling the wait state set by the SYNCW command.
  • the IMR control register 46 has a rendering start bit (RS bit). When the rendering start bit is set to the logic value “1”, the display list is read from the address set in the DL start address register DLSAR and written in the display list buffer 43 .
  • RS bit rendering start bit
  • FIGS. 5A to 5C illustrate a format of a display list.
  • a draw command (TRIangl command)
  • an SYNCW (SYNChronize Wait) command
  • a TRAP command is written.
  • the draw command is a command for instructing transformation of coordinates of image data stored in the line memory 41 in the image processing module from the u,v coordinate system to an X,Y coordinate system as another system, and storage of the resultant to the semiconductor memory 35 .
  • the coordinate transformation only the image data in a necessary region in the image data stored in the line memory 41 is extracted and subjected to distortion correction. That is, at the time of transformation from the u,v coordinate system to the X,Y coordinate system, extraction of an image in a necessary region (extraction of an image in a designated region) and distortion correction on the image in the region are performed.
  • the draw command is made of 32 bits as shown in FIG. 5A and made by a plurality of lines. In the 0th to 15th bits in the first line, the number N of vertices indicative of the number of coordinates (u,v) before transformation and coordinates (X,Y) after transformation used in the draw command is assigned. The 16th to 23rd bits are reserved. An operation code (OP CODE) indicative of the draw command is assigned to the 34th to 31st bits.
  • N the number of vertices
  • the coordinates (u,v) before transformation and the coordinates (X,Y) after transformation are alternately described.
  • it is instructed to transform the coordinates (coordinates before transformation) (u 0 , v 0 ) to the coordinates (coordinates after transformation) (X 0 ,Y 0 ), transform the coordinates (u 1 ,v 1 ) to the coordinates (X 1 ,Y 1 ), and transform the coordinates (u(N ⁇ 1 ),v(N ⁇ 1 )) to the coordinates (X(N ⁇ 1 ),Y(N ⁇ 1 )).
  • the SYNCW command is a command for making execution of the next display list (DL) waited until the condition is satisfied.
  • the SYNCW instruction is made of 32 bits as shown in FIG. 5B .
  • the 0th to 15th bits are reserved, an SEL bit indicative of wait for execution of the display list is assigned in the 16th bit, the 17th to 23rd bits are reserved, and an operation code indicative of the SYNCW command is assigned to the 24th to 31st bits.
  • the TRAP command is a command for generating interruption to the CPU 20 and is made of 32 bits as shown in FIG. 5C .
  • the 0th to 23rd bits in the TRAP command are reserved, and an operation code indicative of the TRAP command is assigned to the 24th to 31st bits.
  • FIG. 6 illustrates the relations among the line memory 41 , the head line designation register LSPR, the mesh size register LMSR, the end line designation register LEPR, and the SYNCW command.
  • the head line designation register LSPR it is assumed that “3” is set in the head line designation register LSPR, “4” is set by the mesh size register LMSR and “15” is set in the end line designation register LEPR.
  • the SEL bit in the SYNCW command in the fetched display list is the logical value “1”
  • FIGS. 7A and 7B schematically show distortion correcting process performed in the process block 42 .
  • FIG. 7A illustrates an image stored in the line memory 41
  • FIG. 7B shows an image subjected to the distortion correction and stored in the semiconductor memory 35 .
  • the line memory 41 an image captured by a camera is written.
  • An object of the distortion correction is an image in a region as a part of the image stored in the line memory 41 .
  • an image 701 stored in the region from the fourth line to the 19th line is an object of the distortion correction and is taken in the process block 42 .
  • the distortion correction is performed at the time of transforming the coordinates of the image data stored in the line memory 41 from the u,v coordinate system to the X,Y coordinate system as a different system.
  • an image 702 which is distortion-corrected can be obtained by modifying the coordinates in consideration of the characteristic of the camera having the fish-eye lens in the coordinate transformation from the u,v coordinate system to the X,Y coordinate system.
  • Vertices 71 to 75 in the image 701 correspond to vertices 71 ′ to 75 ′ in the distortion-corrected image 702 .
  • the coordinate transformation for distortion correction is determined by the draw command (refer to FIG. 5A ) in the display list.
  • the image 701 stored from the fourth line to the 19th line in the image data stored in the line memory 41 is an object of the distortion correction.
  • a process object in the u-coordinate direction (the horizontal direction in the diagram) of the u,v coordinate system of the image stored in the line memory 41 is limited by coordinates (u,v) designated in the drawing command (refer to FIG. 5A ).
  • a region as a process object of the distortion correction is specified.
  • the region as a process object of the distortion correction is determined in consideration of the size of the image synthesized by the display control unit 19 and displayed in the display device 36 . That is, image data of a region unnecessary for performing the image display as shown in FIG.
  • the amount of image data transferred from the image processing modules 15 to 18 to the semiconductor memory 35 via the bus 22 and the interface 21 can be largely reduced. Consequently, the load on the bus 22 caused by the write access to the semiconductor memory 35 can be lessened, and undesired delay in other data processes using the bus 22 is prevented.
  • FIG. 8 shows an example of the configuration of the display control unit 19 .
  • the display control unit 19 includes the planes P 1 to P 4 , a superimposition processor 81 , a plane control register 82 , a superimposition process control register 83 , and a display control register 84 .
  • the planes P 1 to P 4 indicate display planes each including to buffers B 0 and B 1 .
  • image data subjected to the distortion correction in the process block 42 is written.
  • the purpose of providing the two buffers B 0 and B 1 is to smooth the input/output of image data of each plane by allowing data held in one of the buffers B 0 and B 1 to be read during a period in which image data is written in the other buffer.
  • the superimposition processor 81 superimposes image data which is output from the planes P 1 to P 4 and outputs the resultant image data to the display device 36 .
  • the plane control register 82 is provided to control the operation of the planes P 1 to P 4 and includes plane display region start address registers PnDSA 0 R and PnDSA 1 R and a plane mode register PnMR.
  • plane display region start address registers PnDSA 0 R, four plane display region start address registers PnDSA 1 R, and four plane mode register PnMR are disposed for the planes P 1 to P 4 . That is, the plane display region start address register PnDSA 0 R includes P 1 DSA 0 R, P2DSA0R, P3DSA0R, and P4DSA0R corresponding to the planes P 1 , P 2 , P 3 , and P 4 , respectively.
  • the plane display region start address register PnDSA 1 R includes P 1 DSA 1 R, P2DSA1R, P3DSA1R, and P4DSA1R corresponding to the planes P 1 , P 2 , P 3 , and P 4 , respectively.
  • the plane mode register PnMR includes P1MR, P2MR, P3MR, and P4MR corresponding to the planes P 1 , P 2 , P 3 , and P 4 , respectively.
  • the plane display region start address register PnDSA 0 R the display region start address of the buffer B 0 in each of the planes P 1 , P 2 , P 3 , and P 4 is set.
  • the display region start address of the buffer B 1 in each of the planes P 1 to P 4 is set.
  • a buffer (B 0 or B 1 ) for outputting image data to the superimposition processor 81 in the planes P 1 to P 4 is set.
  • the superimposition process control register 83 is to control the operation of the superimposition processor 81 and includes a display plane priority register DPPR.
  • the display plane priority register DPPR In the display plane priority register DPPR, the on/off state of display in the planes P 1 to P 4 and priority of superimposition are set.
  • the display control register 84 is to control image display in the display device 36 and includes a display system control register DSYSR in which a display enable (DEN) bit can be set.
  • a display enable (DEN) bit When the display enable (DEN) bit is set in the enable state, image data is fetched in the buffer in a corresponding plane from an address set in the plane display region start address register PnDSA 0 R or PnDSA 1 R.
  • FIG. 9 illustrates storage regions in the semiconductor memory 35 .
  • a display list storage region 91 for storing a display list (DL) and a distortion-corrected image data storage region 92 for storing a distortion-corrected image data are formed.
  • the display list storage region 91 includes an IMR 15 storage region for storing a display list for the image processing module 15 , an IMR 16 storage region for storing a display list for the image processing module 16 , an IMR 17 storage region for storing a display list for the image processing module 17 , and an IMR 18 storage region for storing a display list for the image processing module 18 .
  • a display list including the SYNCW command, the draw command, and the TRAP command is stored.
  • the distortion-corrected image data storage region 92 includes an IMR 15 distortion-corrected image data storage region, an IMR 16 distortion-corrected image data storage region, an IMR 17 distortion-corrected image data storage region, and an IMR 18 distortion-corrected image data storage region.
  • IMR 15 distortion-corrected image data storage region distortion-corrected image data from the image processing module 15 is stored.
  • IMR 16 distortion-corrected image data storage region distortion-corrected image data from the image processing module 16 is stored.
  • IMR 17 distortion-corrected image data storage region distortion-corrected image data from the image processing module 17 is stored.
  • the IMR 18 distortion-corrected image data storage region distortion-corrected image data from the image processing module 18 is stored.
  • the IMR 15 distortion-corrected image data storage region As the IMR 15 distortion-corrected image data storage region is representatively shown, two distortion-corrected image data storage regions 93 and are included.
  • the head address of the distortion-correction-processed image data storage region 93 is set to “10” and the head address of the distortion-correction-processed, image data storage region 94 is set to “11”.
  • FIGS. 10 and 11 show flowcharts of processes in the processor 10 .
  • the processes shown in FIG. 10 and those shown in FIG. 11 are continuous.
  • the plane P 1 corresponds to the image processing module (IMR) 15
  • the plane P 2 corresponds to the image processing module (IMR) 16
  • the plane P 3 corresponds to the image processing module (IMR) 17
  • the plane P 4 corresponds to the image processing module (IMR) 18 .
  • display lists (DL) of the image processing modules (IMRs) 15 to 18 are stored in the semiconductor memory (DDR) 35 (S 1 ).
  • a predetermined value is set in each of the registers (refer to FIG. 4 ) in the image processing modules 15 to 18 (S 2 ).
  • the head address of the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set.
  • the head address of the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is “address 10 ”.
  • the central processing unit 20 sets a rendering start (RS) bit in the IMR control register (CR) 46 in each of the image processing modules 15 to 18 (S 3 ).
  • the image processing modules 15 to 18 start fetching the display lists from the semiconductor memory 35 and sequentially execute the fetched display lists (S 4 ).
  • the SEL bit in the SYNCW command in the display list fetched by the image processing modules 15 to 18 is set to the logical value “1”.
  • the image processing modules 15 to 18 wait to fetch the next display list until image data is stored in the line memory 41 to the number of line memories indicated by the total value (LSPR+LMSR) of the set value of LSPR and the set value of LMSR since the vertical sync signal VSYNC of the image display system is supplied (S 5 ).
  • the image processing modules 15 to 18 fetch a display list from the semiconductor memory 35 and execute the draw command (TRIangl command) in the display list (S 6 ).
  • the draw command transforms the coordinates of image data stored in the line memory 41 in the image processing module from the u,v coordinate system to the X,Y coordinate system as another system and stores the transformed image data to the semiconductor memory 35 .
  • the image data subjected to the coordinate transformation by the execution of the draw command is stored in order from the “address 10 ” in the image data storage region 93 .
  • 180-degree turning process and 90-degree turning process are also executed.
  • fetching of the next display list is started. Since the SEL bit in the fetched SYNCW command is the logical value “0”, the execution of the display list is waited until image data is stored to the number of line memories indicated by LMSR (S 7 ).
  • the central processing unit 20 changes the distortion-correction-processed image data storage region in the semiconductor memory 35 from the region until then to another region (S 10 ).
  • the head address (address 11 ) of the distortion-correction-processed image data storage region 94 in the semiconductor memory 35 is set.
  • the storage region of image data subjected to the distortion correcting process in the image processing module 15 is changed from the distortion-correction-processed image data storage region 93 to the distortion-correction-processed image data storage region 94 .
  • the TRAP command is executed also in the other image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, thereby changing the distortion-correction-processed image data storage region.
  • the rendering start (RS) bit in the IMR control register (CR) 46 in the image processing module 15 is set by the central processing unit 20 , and the above-described processes in the steps S 4 to S 8 are repeated (S 11 ). Also in the case where the TRAP command is executed in the other image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, in a manner similar to the case of the image processing module 15 , the processes in the steps S 4 to S 8 are repeated.
  • the central processing unit 20 sets the head address (address 10 ) in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 in P 1 DSA 0 R in the plane display region start address register PnDSA 0 R (S 12 ). By the setting, the image data in the distortion-correction-processed image data storage region 93 can be written in the buffer B 0 in the plane P 1 in the display control unit 19 .
  • the head address in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set.
  • the display enable (DEN) bit of the display system control register DSYSR in the display control register 84 in the display control unit 19 is set to the enable state, and image data is taken from the address set in the plane display region start address register to the buffer B 0 in the corresponding plane P 1 , P 2 , P 3 , or P 4 (S 13 ). Further, the central processing unit 20 sets the display plane priority register DPPR.
  • the processes on one screen of the first time are performed by the steps S 1 to S 13 .
  • the processes corresponding to the steps S 1 to S 7 are unnecessary, and the processes in the steps S 4 to S 8 are performed.
  • the TRAP command is executed, and an interruption to the central processing unit 20 is generated (S 14 ).
  • the central processing unit 20 changes the distortion-correction-processed image data storage region in the semiconductor memory 35 from the region until then to another region (S 15 ).
  • the TRAP command is executed by the image processing module 15 and an interruption to the central processing unit 20 is generated
  • the head address (address 10 ) of the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set.
  • the storage region of image data subjected to the distortion correcting process in the image processing module 15 is changed from the distortion-correction-processed image data storage region 94 to the distortion-correction-processed image data storage region 93 .
  • the TRAP command is executed also in the other image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, thereby changing the distortion-correction-processed image data storage region.
  • the rendering start (RS) bit in the IMR control register (CR) 46 in the image processing module 15 is set by the central processing unit 20 , and the above-described processes in the steps S 4 to S 8 are repeated again (S 16 ).
  • the central processing unit 20 sets the head address (address 11 ) in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 in P 1 DSA 1 R (corresponding to the plane 1 ) in the plane display region start address register PnDSA 0 R (S 17 ).
  • the image data in the distortion-correction-processed image data storage region 93 is stored in the buffer B 1 in the plane P 1 in the display control unit 19 .
  • the head address in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set.
  • the central processing unit 20 sets a value in the plane mode register PnMR in the display control unit 19 so that image data from the buffer B 1 is output to the superimposition processor 81 at the time of outputting the next frame (S 18 ). Also in the case where the TRAP command is executed in the image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, in a manner similar to the case where the TRAP command is executed in the image processing module 15 , a value is set in the plane mode register PnMR.
  • the processes corresponding to the steps S 1 to S 7 are unnecessary, and the processes in the steps S 4 to S 8 are performed.
  • the TRAP command is executed, and an interruption to the central processing unit 20 is generated (S 19 ).
  • the central processing unit 20 changes the distortion-correction-processed image data storage region in the semiconductor memory 35 from the region until then to another region (S 20 ).
  • the TRAP command is executed by the image processing module 15 and an interruption to the central processing unit 20 is generated
  • the head address (address 11 ) of the distortion-correction-processed image data storage region 94 in the semiconductor memory 35 is set.
  • the storage region of image data subjected to the distortion correcting process in the image processing module 15 is changed from the distortion-correction-processed image data storage region 93 to the distortion-correction-processed image data storage region 94 .
  • the TRAP command is executed also in the other image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, thereby changing the distortion-correction-processed image data storage region.
  • the rendering start (RS) bit in the IMR control register (CR) 46 in the image processing module 15 is set by the central processing unit 20 , and the above-described processes in the steps S 4 to S 8 are repeated (S 21 ).
  • the central processing unit 20 sets the head address (address 10 ) in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 in P 1 DSA 0 R (corresponding to the plane P 1 ) in the plane display region start address register PnDSA 0 R (S 22 ).
  • the setting is made to store the image data in the distortion-correction-processed image data storage region 93 into the buffer B 0 in the plane P 1 in the display control unit 19 .
  • the head address in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set.
  • the central processing unit 20 sets a value in the plane mode register PnMR in the display control unit 19 so that image data from the buffer B 0 is output to the superimposition processor 81 at the time of outputting a next frame (S 23 ). Also in the case where the TRAP command is generated in the image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, in a manner similar to the case where the TRAP command is executed in the image processing module 15 , a value is set in the plane mode register PnMR.
  • the processor 10 is provided with a general port 151 coupled to the bus 22 and a terminal T 7 for transmitting an output signal from the general port 151 to the cameras 31 to 34 .
  • a camera sync signal is transmitted to the cameras 31 to 34 .
  • the camera sync signal is output in pulses in such a manner that, after the image processing modules (IMRs) 15 to 18 complete the data process on one screen, the central processing unit 20 sets a predetermined value in the general port.
  • the cameras 31 to 34 perform the image capturing synchronously with the camera sync signal which is transmitted via the terminal T 7 . With such a configuration, for example, as illustrated in FIG.
  • the image capturing in the cameras 31 to 34 can be performed at the image capturing timing SH 2 synchronously with the camera sync signal. Consequently, an image can be displayed smoothly in the display device 36 .
  • an overview image may be generated by performing a viewpoint converting process as described in the patent document 1 on distortion-corrected image data in the process block 43 in the image processing modules 15 to 18 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Geometry (AREA)

Abstract

The present invention is provided to lessen load on a bus in the case of storing image data captured by a plurality of cameras into a semiconductor memory. To a semiconductor integrated circuit, a plurality of cameras and a semiconductor memory can be coupled. The semiconductor integrated circuit includes a plurality of first interfaces, a second interface, a bus, and a plurality of image processing modules. The image processing modules include a process of performing distortion correction on image data in a pre-designated region, and writing the image data in the region subjected to the distortion correction into the semiconductor memory via the bus and the second interface. By excluding image data out of the pre-designated region from an object of distortion correction in the image processing modules, the amount of image data transferred to the semiconductor memory is reduced.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The disclosure of Japanese Patent Application No. 2010-240444 filed on Oct. 27, 2010 including the specification, drawings and abstract is incorporated herein by reference in its entirety.
  • BACKGROUND
  • The present invention relates to a semiconductor integrated circuit for performing image process and a technique effectively applied to, for example, a multi-angle video system.
  • A multi-angle video system is known as a system that supports safe and smooth driving operation of a vehicle in a parking area and the like. The multi-angle video system generates an image (overview image) of a view of the periphery of the vehicle from the above of the vehicle on the basis of video images of the periphery taken by a plurality of in-vehicle cameras mounted on the vehicle, and displays the image on a display in the car. Documents describing techniques of this kind include Patent documents 1 and 2.
  • Patent document 1 describes a technique in which a camera having a fish-eye lens is used as an in-vehicle camera, only an image in a predetermined region to be used for generating a vehicle periphery image is extracted from an image formed on an image pickup face, the viewpoint of the extracted image is converted to an overview image, and obtained overview images are synthesized, thereby forming a vehicle peripheral image.
  • Patent document 2 describes an image processing apparatus for a vehicle, having a plurality of cameras, distortion correcting units corresponding to the cameras, and a projection transforming unit.
  • RELATED ART DOCUMENTS Patent Documents [Patent Document 1] Japanese Unexamined Patent Publication No. 2009-267603 [Patent Document 2] Japanese Unexamined Patent Publication No. 2009-171537 SUMMARY
  • One of methods of providing a single semiconductor chip with functions necessary for the operation of a system is SoC (System-on-a-Chip). The inventors of the present invention examined on application of the SoC to a multi-angle video system and found the following problem.
  • In a multi-angle video system, images captured by the plural in-vehicle cameras have to be buffered in a semiconductor memory. Specifically, the semiconductor memory is coupled to a bus in a processor. While image data captured by the plural in-vehicle cameras is sequentially stored in the semiconductor memory, the image data in the semiconductor memory is read and processed, and the resultant image data is displayed on a display device.
  • However, to fetch the image data captured by the plural in-vehicle cameras as it is in the semiconductor memory, the semiconductor memory needs enormous storage capacity, and the load on the bus by write and read accesses to the semiconductor memory inevitably becomes heavy. Particularly, in the case of the SoC, it is considered that other data processes using the bus are undesirably delayed due to the increase in the bus load by the write and read accesses to the semiconductor memory. In the patent documents 1 and 2, such a problem is not considered.
  • An object of the present invention is to provide a technique for lessening the load on the bus in the case of storing image data captured by a plurality of cameras into a semiconductor memory.
  • The above and other objects and novel features of the present invention will become apparent from the description of the specification and the appended drawings.
  • Outline of representative one of inventions disclosed in the present application will be briefly described as follows.
  • To a semiconductor integrated circuit, a plurality of cameras and a semiconductor memory can be coupled. The semiconductor integrated circuit includes a plurality of first interfaces for fetching image data captured by the cameras; a second interface enabling data to be transmitted/received to/from the semiconductor memory; and a bus to which the second interface is coupled. The semiconductor integrated circuit also includes a plurality of image processing modules disposed in correspondence with the first interfaces and for performing a predetermined data process on image data transmitted via the corresponding first interfaces. The image processing modules include a process of performing distortion correction on image data in a pre-designated region, and writing the image data in the region subjected to the distortion correction into the semiconductor memory via the bus and the second interface.
  • An effect obtained by the representative one of the inventions disclosed in the present application will be briefly described as follows.
  • The load on a bus in the case of storing image data captured by a plurality of cameras into a semiconductor memory can be lessened.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram showing an example of the configuration of a multi-angle video system including a processor as an example of a semiconductor integrated circuit according to the present invention.
  • FIG. 2 is an explanatory diagram of images in main parts of the processor illustrated in FIG. 1.
  • FIG. 3 is an explanatory diagram of the images processed by the processor illustrated in FIG. 1.
  • FIG. 4 is a block diagram showing an example of the configuration of an image processing module in the processor illustrated in FIG. 1.
  • FIGS. 5A to 5C are format explanatory diagrams of a display list executed by the image processing module in the processor illustrated in FIG. 1.
  • FIG. 6 is a diagram for explaining the relations among a line memory in the image processing module in the processor illustrated in FIG. 1, a head line designation register, a mesh size register, an end line designation register, and an SYNCW command.
  • FIGS. 7A and 7B are diagrams explaining distortion correcting process performed in a process block in the image processing module in the processor illustrated in FIG. 1.
  • FIG. 8 is a block diagram showing an example of the configuration of a display control unit included in the processor illustrated in FIG. 1.
  • FIG. 9 is diagram explaining storage regions in a semiconductor memory included in the multi-angle video system illustrated in FIG. 1.
  • FIG. 10 is a flowchart of processes in the processor illustrated in FIG. 1.
  • FIG. 11 is a flowchart of processes in the processor illustrated in FIG. 1.
  • FIG. 12 is a diagram explaining the relations between image capturing timings of a camera in the multi-angle video system and time of storage of image data to the semiconductor memory.
  • FIG. 13 is a diagram explaining the relations between image capturing timings of a camera in the multi-angle video system and time of storage of image data to the semiconductor memory.
  • FIG. 14 is a diagram explaining the relations between image capturing timings of a camera and time of storage of image data to the semiconductor memory in the case of employing the configuration illustrated in FIG. 15.
  • FIG. 15 is a block diagram showing an another configuration example of the multi-angle video system including the processor as an example of the semiconductor integrated circuit according to the present invention.
  • DETAILED DESCRIPTION 1. Outline of Embodiment
  • First, outline of representative embodiments of the invention disclosed in the present application will be described. Reference numerals of the drawings referred to in parentheses in the description of the outline of the representative embodiments merely illustrate components designated with the reference numerals included in the concept of the components.
  • [1]To a semiconductor integrated circuit (10) according to a representative embodiment of the present invention, a plurality of cameras (31 to 34) and a semiconductor memory (35) can be coupled. The semiconductor integrated circuit includes: a plurality of first interfaces for fetching image data captured by the cameras; a second interface (21) enabling data to be transmitted/received to/from the semiconductor memory; and a bus (22) to which the second interface is coupled. The semiconductor integrated circuit also includes a plurality of image processing modules (15 to 18) disposed in correspondence with the first interfaces and for performing a predetermined data process on image data transmitted via the corresponding first interfaces. The image processing modules (15 to 18) include a process of performing distortion correction on image data in a pre-designated region, and writing the image data in the region subjected to the distortion correction into the semiconductor memory via the bus and the second interface.
  • With the configuration, distortion correction is performed on image data in a pre-designated region by a plurality of image processing modules, and the image data in the region subjected to the distortion correction is written in the semiconductor memory via the bus and the second interface. Consequently, by excluding the image data out of the pre-designated region from an object of distortion correction in the image processing modules, the amount of image data transferred from the image processing modules to the semiconductor memory via the bus and the second interface can be largely reduced, the load on the bus due to the write access to the semiconductor memory can be lessened, and other data processes using the bus are not undesirably delayed. The image processing module executes a process of performing distortion correction on image data in a pre-designated region and writing the image data in the region subjected to the distortion correction into the semiconductor memory via the bus and the second interface, so that the process of extracting the image data in the pre-designated region and the process of performing the distortion correction on the image in the region extracted can be simultaneously performed. Therefore, as compared with the case of separately performing the process of extracting image data in a pre-determined region and the process of performing the distortion correction on the image in the region extracted by different process blocks, the speed of the process can be increased.
  • [2] To display an image processed in the semiconductor integrated circuit on a display device, the semiconductor integrated circuit in [1] may be provided with a display control unit (19) for fetching image data processed by the plural image processing modules, synthesizing the image data, and displaying the resultant image data on a display device.
  • [3] In the semiconductor integrated circuit [2], the image processing module may include: a line memory (41) for storing image data received via the first interfaces; a display list buffer (43) for storing a display list which is preliminarily formed; and a process block (42) for performing the distortion correction on image data in the line memory in accordance with the display list.
  • [4] In the semiconductor integrated circuit [3], in the display list, a first command (draw command) for instructing coordinate transformation of image data stored in the line memory and storage of the coordinate-transformed image data into the semiconductor memory and a second command (SYNCW command) for making execution of a next display list waited until a predetermined condition is satisfied can be written. In the display list, a third command (TRAP command) for generating a predetermined interruption signal at a timing point when image data of one screen is obtained by process in the process block can be also written. The first, second, and third commands are executed in the process block.
  • [5] The semiconductor integrated circuit of [4] may further include a central processing unit (20) coupled to the bus. The central processing unit includes a process of writing corresponding image data in the semiconductor memory into the display control unit via the bus by an interrupting process corresponding to an interruption signal caused by the third command in the display list.
  • [6] The semiconductor integrated circuit of [5] may be further provided with a port (151) capable of outputting a sync signal for controlling the image capturing timings of the plural cameras to the outside in order to make the image capturing timings of the plural cameras proper.
  • [7] A multi-angle video system (100) can be configured by the semiconductor integrated circuit of [6] and the plural cameras and the semiconductor memory coupled to the semiconductor integrated circuit.
  • 2. Details of Embodiments
  • The embodiments will be described more specifically.
  • First Embodiment
  • FIG. 1 illustrates a multi-angle video system including a processor as an example of a semiconductor integrated circuit according to the present invention. A multi-angle video system 100 illustrated in FIG. 1 includes a processor 10, a plurality of cameras 31 to 34, a semiconductor memory (DDR) 35, and a display device (LCD) 36.
  • The processor 10 is, although not limited, an SoC provided with functions necessary for the operation of the multi-angle video system, and is formed on a single semiconductor substrate such as a single-crystal silicon substrate by the known semiconductor integrated circuit manufacturing technique. The processor 10 illustrated in FIG. 1 is provided with camera coupling terminals T1 to T4, a semiconductor memory coupling terminal T5, and a display device coupling terminal T6. The cameras 31 to 34 are coupled to the camera coupling terminals T1 to T4, respectively. The cameras 31 to 34 are attached to a vehicle to capture images on the front, rear, right and left sides of the vehicle. As each of the cameras 31 to 34, a camera having a fish-eye lens can be applied. The fish-eye lens has the angle of view of about 180 degrees and can display an image of a wide range. The image is distorted and, particularly, distortion in a periphery part of the image is considerable, so that distortion correction is performed. A technique itself for correcting the distortion caused by the fish-eye lens is known (refer to, for example, patent document 1). The semiconductor memory (DDR) 35 is, although not limited, a DDR SDRAM (Double-Data-Rate Synchronous Dynamic Random Access Memory) which can transmit/receive data at each of the rising/trailing edges of a clock signal and can obtain data transfer speed which is twice as high as that of an SDRAM operating at the same clock theoretically. The display device (LCD) 36 is a liquid crystal display in a vehicle.
  • The processor 10 illustrated in FIG. 1 includes, although not limited, interfaces 11 to 14 and 21, image processing modules (IMR) 15 to 18, a display control unit (DU) 19, and a central processing unit (CPU) 20. The image processing units (IMRs) 15 to 18, the display control unit 19, the central processing unit 20, and the interface 21 are coupled so that a signal can be transmitted/received from each other via a bus 22. The interfaces 11 to 14 are coupled to the camera coupling terminals Ti to T4, respectively and fetch image data from the corresponding cameras 31 to 34. The interface 21 is disposed in correspondence with the semiconductor memory coupling terminal T5 so that data can be transmitted/received to/from the semiconductor memory 35. The image processing modules 15 to 18 are disposed in correspondence with the interfaces 11 to 14, respectively and have the functions of performing distortion correction on image data in a pre-designated region and writing the distortion-corrected image data in the region into the semiconductor memory 35 via the interface 21. The image processing modules 15 to 18 can correct not only distortion but also brightness and hue. The display control unit 19 fetches the image capturing data subjected to the distortion correction process in the semiconductor memory 35 via the interface 21, performs superimposing process on the data, and outputs the process result to the display device 36. The central processing unit 20 performs operation control on each of the components by executing a predetermined program. The operation control includes initial setting to registers in the image processing modules 15 to 18 and the display control unit 19, setting of a display list (DL) to the semiconductor memory 35, switching of the data storage region in the semiconductor memory 35 to which the image data processed by the image processing modules 15 to 18 is to be stored, and re-setting of a data fetch address in the display control unit 19.
  • FIG. 2 schematically shows images in main parts of the processor 10 illustrated in FIG. 1.
  • Images 1, 2, 3, and 4 are obtained by image capturing in the cameras 31 to 34 each having a fish-eye lens. It is assumed that the image 1 on the front side of the vehicle is captured by the camera 31, the image 2 on the rear side of the vehicle is captured by the camera 32, the image 3 on the right side of the vehicle is captured by the camera 33, and the image 4 on the left side of the vehicle is captured by the camera 34. The image data is transmitted to the image processing modules 15, 16, 17, and 18 via the corresponding interfaces 11, 12, 13, and 14, respectively. A, B, C, and D in FIG. 2 indicate the images captured by the cameras 31, 32, 33, and 34, respectively, supplied to the processor 10 via the terminals T1, T2, T3, and T4, respectively, and output from the interfaces 11, 12, 13, and 14, respectively. In the image processing module 15, distortion caused by the fish-eye lens is corrected on the image in the pre-designated region (the region surrounded by the dotted line) in the input image 1 (image A), and the image in the region subjected to the distortion correction is written in the semiconductor memory 35. In the image processing module 16, distortion caused by the fish-eye lens is corrected on the image in the pre-designated region (the region surrounded by the dotted line) in the input image 2 (image B), the image in the region subjected to the distortion correction is turned by 180 degrees, and the resultant image is written in the semiconductor memory 35. In the image processing module 17, distortion caused by the fish-eye lens is corrected on the image in the pre-designated region (the region surrounded by the dotted line) in the input image 3 (image C), the image in the region subjected to the distortion correction is turned rightward by 90 degrees, and the resultant image is written in the semiconductor memory 35. In the image processing module 18, distortion caused by the fish-eye lens is corrected on the image in the pre-designated region (the region surrounded by the dotted line) in the input image 4 (image D), the image in the region subjected to the distortion correction is turned leftward by 90 degrees, and the resultant image is written in the semiconductor memory 35. The images written in the semiconductor memory 35 are read by the display control unit 19. In the display control unit 19, the images read from the semiconductor memory 35 are stored in planes in the display control unit 19, the images in the planes are synthesized so as to be disposed in predetermined positions, for example, as shown in FIG. 3, and the resultant image is transmitted and displayed in the display device 36.
  • FIG. 4 illustrates an example of the configuration of the image processing module 15.
  • The image processing module 15 includes, although not limited, a line memory 41, a process block 42, a display list buffer 43, a memory control register 44, a line memory control register 45, and an IMR control register (CR) 46.
  • The line memory 41 is a memory for storing image data supplied via the interface 11 in correspondence with a scan line in a display system.
  • The process block 42 performs distortion correction on the image data in the pre-designated region. The process block 42 can also correct the brightness and hue on the image data in the region. The process in the process block 42 is performed in accordance with the predetermined display list (DL). The process block 42 has the DMA (Direct Memory Access) function, and the image data processed by the process block 42 is written in the image memory 35 via the bus 22 and the interface 21 by the DMA function.
  • The display list is a list of the processes performed in the process block 42. The display list is preliminarily set and stored in the semiconductor memory 35, and is fetched by the image processing module 15 into the display list buffer 43 as necessary.
  • The memory control register 44 is a register used for control on the semiconductor memory 35 and includes a DL start address register DLSAR and a destination start address register DSAR. The DL start address register DLSAR holds the head address of a storage region in which the display list is stored in the semiconductor memory 35. The destination start address register DSAR holds the head address of a storage region in which the data subjected to distortion correction is stored in the semiconductor memory 35.
  • The line memory control register 45 is a register used for control on the line memory 41 and includes the head line designation register LSPR, the mesh size register LMSR, and the end line designation register LEPR. The head line designation register LSPR is a register for setting the number of line memories for cancelling a wait state set by an SYNCW (SYNChronize Wait) command. The mesh size register LMSR is a register for setting the number of line memories for cancelling the wait state set by the SYNC command. The end line designation register LEPR is a register for setting the number of line memories for uncancelling the wait state set by the SYNCW command.
  • The IMR control register 46 has a rendering start bit (RS bit). When the rendering start bit is set to the logic value “1”, the display list is read from the address set in the DL start address register DLSAR and written in the display list buffer 43.
  • Since the other image processing modules 16 to 18 have the same configuration as that of the image processing module 15, their detailed description will not be given.
  • FIGS. 5A to 5C illustrate a format of a display list. In a display list, although not limited, a draw command (TRIangl command), an SYNCW (SYNChronize Wait) command, and a TRAP command are written.
  • The draw command is a command for instructing transformation of coordinates of image data stored in the line memory 41 in the image processing module from the u,v coordinate system to an X,Y coordinate system as another system, and storage of the resultant to the semiconductor memory 35. In the coordinate transformation, only the image data in a necessary region in the image data stored in the line memory 41 is extracted and subjected to distortion correction. That is, at the time of transformation from the u,v coordinate system to the X,Y coordinate system, extraction of an image in a necessary region (extraction of an image in a designated region) and distortion correction on the image in the region are performed. In the coordinate transformation in the image processing modules 16 to 18, in relation to image display in the display device 36, 180-degree turn process and 90-degree turn process are also executed (refer to FIGS. 2 and 3). The draw command is made of 32 bits as shown in FIG. 5A and made by a plurality of lines. In the 0th to 15th bits in the first line, the number N of vertices indicative of the number of coordinates (u,v) before transformation and coordinates (X,Y) after transformation used in the draw command is assigned. The 16th to 23rd bits are reserved. An operation code (OP CODE) indicative of the draw command is assigned to the 34th to 31st bits. The number of lines from the second line and subsequent lines in the draw command is twice as many as the number N of vertices (=N×2). The reason is that the coordinates (u,v) before transformation and the coordinates (X,Y) after transformation are alternately described. For example, in the case of FIG. 5A, it is instructed to transform the coordinates (coordinates before transformation) (u0, v0) to the coordinates (coordinates after transformation) (X0,Y0), transform the coordinates (u1,v1) to the coordinates (X1,Y1), and transform the coordinates (u(N−1),v(N−1)) to the coordinates (X(N−1),Y(N−1)).
  • The SYNCW command is a command for making execution of the next display list (DL) waited until the condition is satisfied. The SYNCW instruction is made of 32 bits as shown in FIG. 5B. The 0th to 15th bits are reserved, an SEL bit indicative of wait for execution of the display list is assigned in the 16th bit, the 17th to 23rd bits are reserved, and an operation code indicative of the SYNCW command is assigned to the 24th to 31st bits. In the case where the SEL bit is the logical value “1”, after a vertical sync signal VSYNC of the image display system is received, execution of the display list is made waited until image data is stored to the number of line memories indicated by the total value (LSPR+LMSR) of the set value of LSPR and the set value of LMSR. In the case where the SEL bit is the logical value “0”, execution of the display list is made waited until image data of the number of line memories which is set in the register LMSR is stored.
  • The TRAP command is a command for generating interruption to the CPU 20 and is made of 32 bits as shown in FIG. 5C. The 0th to 23rd bits in the TRAP command are reserved, and an operation code indicative of the TRAP command is assigned to the 24th to 31st bits.
  • FIG. 6 illustrates the relations among the line memory 41, the head line designation register LSPR, the mesh size register LMSR, the end line designation register LEPR, and the SYNCW command. As an example, it is assumed that “3” is set in the head line designation register LSPR, “4” is set by the mesh size register LMSR and “15” is set in the end line designation register LEPR. In the case where the SEL bit in the SYNCW command in the fetched display list is the logical value “1”, execution of the display list is waited until image data is stored to the number of line memories indicated by LSPR+LMSR (=3+4). Consequently, data from line 1 to line 3 is not taken in the process block 42, and the SYNCW command is not cancelled (61). When image data is stored to the number of line memories set by LSPR+LMSR (=3+4) and the SYNCW command is cancelled because of satisfaction of the condition, the next display list is fetched. In the case where the SEL bit in the fetched SYNCW command is the logical value “0”, image data up to the number of lines set by LMSR, that is, from line 4 to line 7 is taken in the process block 42, and the SYNCW command is cancelled (62). When the SEL bit in the SYNCW command fetched next is the logical value “0”, image data of the number of lines set by LMSR, that is, from line 8 to line 11 is taken in the process block 42, and the SYNCW command is cancelled (63). Similarly, in the case where the SEL bit in the SYNCW command fetched next is the logical value “0”, image data of the number of lines set by LMSR, that is, from line 12 to line 15 is taken in the process block 42, and the SYNCW command is cancelled (64). Since “15” is set in the end line designation register LEPR in the example, image data in the line 16 and subsequent lines is not taken in the process block 42.
  • FIGS. 7A and 7B schematically show distortion correcting process performed in the process block 42.
  • FIG. 7A illustrates an image stored in the line memory 41, and FIG. 7B shows an image subjected to the distortion correction and stored in the semiconductor memory 35. In the line memory 41, an image captured by a camera is written. An object of the distortion correction is an image in a region as a part of the image stored in the line memory 41. In the example shown in FIG. 7A, an image 701 stored in the region from the fourth line to the 19th line is an object of the distortion correction and is taken in the process block 42. The distortion correction is performed at the time of transforming the coordinates of the image data stored in the line memory 41 from the u,v coordinate system to the X,Y coordinate system as a different system. That is, an image 702 which is distortion-corrected can be obtained by modifying the coordinates in consideration of the characteristic of the camera having the fish-eye lens in the coordinate transformation from the u,v coordinate system to the X,Y coordinate system. Vertices 71 to 75 in the image 701 correspond to vertices 71′ to 75′ in the distortion-corrected image 702. The coordinate transformation for distortion correction is determined by the draw command (refer to FIG. 5A) in the display list.
  • In the case where the distortion correcting process on a partial region as shown in FIGS. 7A and 7B is not performed in the image processing modules 15 to 18 in the configuration illustrated in FIG. 1, image data obtained by image capturing of the cameras 31 to 34 is written in the same size into the semiconductor memory 35 via the bus 22 and the interface 21. In this case, the load on the bus 22 due to a write access and a read access to the semiconductor memory 35 becomes heavier. Particularly, in the case of SoC, it is considered that other data processes using the bus 22 are undesirably delayed due to increase in the load on the bus 22 caused by the write access to the semiconductor memory 35.
  • On the other hand, in the configuration shown in FIG. 1, the image 701 stored from the fourth line to the 19th line in the image data stored in the line memory 41 is an object of the distortion correction. Moreover, a process object in the u-coordinate direction (the horizontal direction in the diagram) of the u,v coordinate system of the image stored in the line memory 41 is limited by coordinates (u,v) designated in the drawing command (refer to FIG. 5A). In such a manner, a region as a process object of the distortion correction is specified. The region as a process object of the distortion correction is determined in consideration of the size of the image synthesized by the display control unit 19 and displayed in the display device 36. That is, image data of a region unnecessary for performing the image display as shown in FIG. 3 is excluded from the object of distortion correction in the image processing modules 15 to 18. By the operation, the amount of image data transferred from the image processing modules 15 to 18 to the semiconductor memory 35 via the bus 22 and the interface 21 can be largely reduced. Consequently, the load on the bus 22 caused by the write access to the semiconductor memory 35 can be lessened, and undesired delay in other data processes using the bus 22 is prevented.
  • FIG. 8 shows an example of the configuration of the display control unit 19.
  • The display control unit 19 includes the planes P1 to P4, a superimposition processor 81, a plane control register 82, a superimposition process control register 83, and a display control register 84.
  • The planes P1 to P4 indicate display planes each including to buffers B0 and B1. In the buffers B0 and B1, image data subjected to the distortion correction in the process block 42 is written. The purpose of providing the two buffers B0 and B1 is to smooth the input/output of image data of each plane by allowing data held in one of the buffers B0 and B1 to be read during a period in which image data is written in the other buffer.
  • The superimposition processor 81 superimposes image data which is output from the planes P1 to P4 and outputs the resultant image data to the display device 36.
  • The plane control register 82 is provided to control the operation of the planes P1 to P4 and includes plane display region start address registers PnDSA0R and PnDSA1R and a plane mode register PnMR. Four plane display region start address registers PnDSA0R, four plane display region start address registers PnDSA1R, and four plane mode register PnMR are disposed for the planes P1 to P4. That is, the plane display region start address register PnDSA0R includes P1DSA0R, P2DSA0R, P3DSA0R, and P4DSA0R corresponding to the planes P1, P2, P3, and P4, respectively. The plane display region start address register PnDSA1R includes P1DSA1R, P2DSA1R, P3DSA1R, and P4DSA1R corresponding to the planes P1, P2, P3, and P4, respectively. Similarly, the plane mode register PnMR includes P1MR, P2MR, P3MR, and P4MR corresponding to the planes P1, P2, P3, and P4, respectively. In the plane display region start address register PnDSA0R, the display region start address of the buffer B0 in each of the planes P1, P2, P3, and P4 is set. In the plane display region start address register PnDSA1R, the display region start address of the buffer B1 in each of the planes P1 to P4 is set. In the plane mode register PnMR, a buffer (B0 or B1) for outputting image data to the superimposition processor 81 in the planes P1 to P4 is set.
  • The superimposition process control register 83 is to control the operation of the superimposition processor 81 and includes a display plane priority register DPPR. In the display plane priority register DPPR, the on/off state of display in the planes P1 to P4 and priority of superimposition are set.
  • The display control register 84 is to control image display in the display device 36 and includes a display system control register DSYSR in which a display enable (DEN) bit can be set. When the display enable (DEN) bit is set in the enable state, image data is fetched in the buffer in a corresponding plane from an address set in the plane display region start address register PnDSA0R or PnDSA1R.
  • FIG. 9 illustrates storage regions in the semiconductor memory 35.
  • In the semiconductor memory 35, a display list storage region 91 for storing a display list (DL) and a distortion-corrected image data storage region 92 for storing a distortion-corrected image data are formed.
  • The display list storage region 91 includes an IMR 15 storage region for storing a display list for the image processing module 15, an IMR 16 storage region for storing a display list for the image processing module 16, an IMR 17 storage region for storing a display list for the image processing module 17, and an IMR 18 storage region for storing a display list for the image processing module 18. In the IMR 15 storage region, the IMR 16 storage region, the IMR 17 storage region, and the IMR 18 storage region, as the IMR 15 storage region is representatively shown, a display list including the SYNCW command, the draw command, and the TRAP command is stored.
  • The distortion-corrected image data storage region 92 includes an IMR 15 distortion-corrected image data storage region, an IMR 16 distortion-corrected image data storage region, an IMR 17 distortion-corrected image data storage region, and an IMR 18 distortion-corrected image data storage region. In the IMR 15 distortion-corrected image data storage region, distortion-corrected image data from the image processing module 15 is stored. In the IMR 16 distortion-corrected image data storage region, distortion-corrected image data from the image processing module 16 is stored. In the IMR 17 distortion-corrected image data storage region, distortion-corrected image data from the image processing module 17 is stored. In the IMR 18 distortion-corrected image data storage region, distortion-corrected image data from the image processing module 18 is stored. In each of the IMR 15 distortion-corrected image data storage region, the IMR 16 distortion-corrected image data storage region, the IMR 17 distortion-corrected image data storage region, and the IMR 18 distortion-corrected image data storage region, as the IMR 15 distortion-corrected image data storage region is representatively shown, two distortion-corrected image data storage regions 93 and are included. The head address of the distortion-correction-processed image data storage region 93 is set to “10” and the head address of the distortion-correction-processed, image data storage region 94 is set to “11”.
  • FIGS. 10 and 11 show flowcharts of processes in the processor 10. The processes shown in FIG. 10 and those shown in FIG. 11 are continuous.
  • It is assumed that the plane P1 corresponds to the image processing module (IMR) 15, the plane P2 corresponds to the image processing module (IMR) 16, the plane P3 corresponds to the image processing module (IMR) 17, and the plane P4 corresponds to the image processing module (IMR) 18.
  • First, with reference to FIG. 10, the processes of one screen of the first time will be described.
  • By the central processing unit 20, display lists (DL) of the image processing modules (IMRs) 15 to 18 are stored in the semiconductor memory (DDR) 35 (S1).
  • By the central processing unit 20, a predetermined value is set in each of the registers (refer to FIG. 4) in the image processing modules 15 to 18 (S2). In the destination start address register DSAR in each of the image processing modules 15 to 18, the head address of the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set. In the example shown in FIG. 9, the head address of the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is “address 10”.
  • To make the image processing modules 15 to 18 start fetching the display lists, the central processing unit 20 sets a rendering start (RS) bit in the IMR control register (CR) 46 in each of the image processing modules 15 to 18 (S3).
  • After the above-described settings are made, the image processing modules 15 to 18 start fetching the display lists from the semiconductor memory 35 and sequentially execute the fetched display lists (S4). At this time, the SEL bit in the SYNCW command in the display list fetched by the image processing modules 15 to 18 is set to the logical value “1”. In the case where the SEL bit in the SYNCW command executed is the logical value “1”, the image processing modules 15 to 18 wait to fetch the next display list until image data is stored in the line memory 41 to the number of line memories indicated by the total value (LSPR+LMSR) of the set value of LSPR and the set value of LMSR since the vertical sync signal VSYNC of the image display system is supplied (S5).
  • When image data is stored to the number of line memories indicated by the total value (LSPR+LMSR) of the set value of LSPR and the set value of LMSR in the line memory 41, the image processing modules 15 to 18 fetch a display list from the semiconductor memory 35 and execute the draw command (TRIangl command) in the display list (S6). For example, as shown in FIGS. 7A and 7B, the draw command transforms the coordinates of image data stored in the line memory 41 in the image processing module from the u,v coordinate system to the X,Y coordinate system as another system and stores the transformed image data to the semiconductor memory 35. In the destination start address register DSAR in the image processing modules 15 to 18, since the head address of the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set to the “address 10”, the image data subjected to the coordinate transformation by the execution of the draw command is stored in order from the “address 10” in the image data storage region 93. In the coordinate transformation in the image processing modules 16 to 18, 180-degree turning process and 90-degree turning process are also executed. After the process in step S6, fetching of the next display list is started. Since the SEL bit in the fetched SYNCW command is the logical value “0”, the execution of the display list is waited until image data is stored to the number of line memories indicated by LMSR (S7).
  • The processes in the steps S6 and S7 are repeated to the number of line memories designated by the end line designation register LEPR, in other words, until image data of the amount of one screen is obtained (S8).
  • In the image processing modules 16 to 18, after image data of the amount of one screen is obtained, the TRAP command in the display list is executed, and an interruption to the central processing unit 20 is generated (S9). By a predetermined interrupting process corresponding to the interruption, the central processing unit 20 changes the distortion-correction-processed image data storage region in the semiconductor memory 35 from the region until then to another region (S10). For example, in the case where the TRAP command is executed by the image processing module 15 and an interruption to the central processing unit 20 is generated, in the interrupting process in the central processing unit 20, the head address (address 11) of the distortion-correction-processed image data storage region 94 in the semiconductor memory 35 is set. By the setting, the storage region of image data subjected to the distortion correcting process in the image processing module 15 is changed from the distortion-correction-processed image data storage region 93 to the distortion-correction-processed image data storage region 94. Similarly, the TRAP command is executed also in the other image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, thereby changing the distortion-correction-processed image data storage region.
  • In the case where the TRAP command is executed in the image processing module 15 and an interruption to the central processing unit 20 is generated, the rendering start (RS) bit in the IMR control register (CR) 46 in the image processing module 15 is set by the central processing unit 20, and the above-described processes in the steps S4 to S8 are repeated (S11). Also in the case where the TRAP command is executed in the other image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, in a manner similar to the case of the image processing module 15, the processes in the steps S4 to S8 are repeated.
  • In the case where the TRAP command is executed in the image processing module 15 and an interruption to the central processing unit 20 is generated, the central processing unit 20 sets the head address (address 10) in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 in P1DSA0R in the plane display region start address register PnDSA0R (S12). By the setting, the image data in the distortion-correction-processed image data storage region 93 can be written in the buffer B0 in the plane P1 in the display control unit 19. Also in the case where the TRAP command is executed in the image processing modules 16 to 18 and the interruption to the central processing unit 20 is generated, in a manner similar to the case where the TRAP command is executed in the image processing module 15, the head address in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set.
  • In the case where the central processing unit 20 finishes the processes in the steps S10 to S12 on all of the image processing modules 15 to 18, the display enable (DEN) bit of the display system control register DSYSR in the display control register 84 in the display control unit 19 is set to the enable state, and image data is taken from the address set in the plane display region start address register to the buffer B0 in the corresponding plane P1, P2, P3, or P4 (S13). Further, the central processing unit 20 sets the display plane priority register DPPR. In the priority which is set in the display plane priority register DPPR, output data from the buffers B0 in the planes P1 to P4 is superimposed by the superimposition processor 81, and the resultant image is output and displayed in the display device 36 (S13).
  • The processes on one screen of the first time are performed by the steps S1 to S13.
  • Next, with reference to FIG. 11, the processes on one screen of the second time will be described.
  • In the processes on one screen of the second time, the processes corresponding to the steps S1 to S7 are unnecessary, and the processes in the steps S4 to S8 are performed. After execution of the drawing process on the image data of one screen, the TRAP command is executed, and an interruption to the central processing unit 20 is generated (S14). By the interruption, the central processing unit 20 changes the distortion-correction-processed image data storage region in the semiconductor memory 35 from the region until then to another region (S15). For example, in the case where the TRAP command is executed by the image processing module 15 and an interruption to the central processing unit 20 is generated, in the interrupting process in the central processing unit 20, the head address (address 10) of the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set. By the setting, the storage region of image data subjected to the distortion correcting process in the image processing module 15 is changed from the distortion-correction-processed image data storage region 94 to the distortion-correction-processed image data storage region 93. Similarly, the TRAP command is executed also in the other image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, thereby changing the distortion-correction-processed image data storage region.
  • In the case where the TRAP command is executed in the image processing module 15 and an interruption to the central processing unit 20 is generated, the rendering start (RS) bit in the IMR control register (CR) 46 in the image processing module 15 is set by the central processing unit 20, and the above-described processes in the steps S4 to S8 are repeated again (S16).
  • In the case where the TRAP command is executed in the image processing module 15 and an interruption to the central processing unit 20 is generated, the central processing unit 20 sets the head address (address 11) in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 in P1DSA1R (corresponding to the plane 1) in the plane display region start address register PnDSA0R (S17). By the setting, the image data in the distortion-correction-processed image data storage region 93 is stored in the buffer B1 in the plane P1 in the display control unit 19. Also in the case where the TRAP command is executed in the image processing modules 16 to 18 and the interruption to the central processing unit 20 is generated, in a manner similar to the case where the TRAP command is executed in the image processing module 15, the head address in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set.
  • In the case where the TRAP command is executed in the image processing module 15 and an interruption to the central processing unit 20 is generated, the central processing unit 20 sets a value in the plane mode register PnMR in the display control unit 19 so that image data from the buffer B1 is output to the superimposition processor 81 at the time of outputting the next frame (S18). Also in the case where the TRAP command is executed in the image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, in a manner similar to the case where the TRAP command is executed in the image processing module 15, a value is set in the plane mode register PnMR.
  • Next, with reference to FIG. 11, the processes on one screen of the third time will be described.
  • In the processes on one screen of the third time, the processes corresponding to the steps S1 to S7 are unnecessary, and the processes in the steps S4 to S8 are performed. After execution of the drawing process on the image data of one screen, the TRAP command is executed, and an interruption to the central processing unit 20 is generated (S19). By the interruption, the central processing unit 20 changes the distortion-correction-processed image data storage region in the semiconductor memory 35 from the region until then to another region (S20). For example, in the case where the TRAP command is executed by the image processing module 15 and an interruption to the central processing unit 20 is generated, in the interrupting process in the central processing unit 20, the head address (address 11) of the distortion-correction-processed image data storage region 94 in the semiconductor memory 35 is set. By the setting, the storage region of image data subjected to the distortion correcting process in the image processing module 15 is changed from the distortion-correction-processed image data storage region 93 to the distortion-correction-processed image data storage region 94. Similarly, the TRAP command is executed also in the other image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, thereby changing the distortion-correction-processed image data storage region.
  • In the case where the TRAP command is executed in the image processing module 15 and an interruption to the central processing unit 20 is generated, the rendering start (RS) bit in the IMR control register (CR) 46 in the image processing module 15 is set by the central processing unit 20, and the above-described processes in the steps S4 to S8 are repeated (S21).
  • In the case where the TRAP command is executed in the image processing module 15 and an interruption to the central processing unit 20 is generated, the central processing unit 20 sets the head address (address 10) in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 in P1DSA0R (corresponding to the plane P1) in the plane display region start address register PnDSA0R (S22). The setting is made to store the image data in the distortion-correction-processed image data storage region 93 into the buffer B0 in the plane P1 in the display control unit 19. Also in the case where the TRAP command is executed in the image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, in a manner similar to the case where the TRAP command is executed in the image processing module 15, the head address in the distortion-correction-processed image data storage region 93 in the semiconductor memory 35 is set.
  • In the case where the TRAP command is executed in the image processing module 15 and an interruption to the central processing unit 20 is generated, the central processing unit 20 sets a value in the plane mode register PnMR in the display control unit 19 so that image data from the buffer B0 is output to the superimposition processor 81 at the time of outputting a next frame (S23). Also in the case where the TRAP command is generated in the image processing modules 16 to 18 and an interruption to the central processing unit 20 is generated, in a manner similar to the case where the TRAP command is executed in the image processing module 15, a value is set in the plane mode register PnMR.
  • The processes of one screen, of the first time (S1 to S13), the processes of one screen of the second time (S14 to S18), and the processes of one screen of the third time (S19 to S23) have been described above. With respect to the processes of one screen of the fourth and subsequent times, the processes (S14 to S18) of one screen of the second time (S14 to S18) and the processes (S19 to S23) of one screen of the third time are alternately repeated.
  • Second Embodiment
  • A second embodiment will be described.
  • For example, as illustrated in FIG. 12, if the distortion correcting process on image data obtained at an image capturing timing SH1 and writing of the processed image data to the semiconductor memory 35 is finished during a period from the image capturing timing SH1 of the camera to the next image capturing timing SH2, there is no problem. However, as shown in FIG. 13, in the case where the distortion correcting process on image data obtained at the image capturing timing SH1 and writing of the processed image data to the semiconductor memory 35 is not finished during the period from the image capturing timing SH1 of the camera to the next image capturing timing SH2, an image cannot be smoothly displayed in the display device 36. To address the problem, as shown in FIG. 15, the processor 10 is provided with a general port 151 coupled to the bus 22 and a terminal T7 for transmitting an output signal from the general port 151 to the cameras 31 to 34. From the general port 151 via the terminal T7, a camera sync signal is transmitted to the cameras 31 to 34. It is assumed that the camera sync signal is output in pulses in such a manner that, after the image processing modules (IMRs) 15 to 18 complete the data process on one screen, the central processing unit 20 sets a predetermined value in the general port. The cameras 31 to 34 perform the image capturing synchronously with the camera sync signal which is transmitted via the terminal T7. With such a configuration, for example, as illustrated in FIG. 14, after the image processing modules (IMRs) 15 to 18 complete the data process on one screen, the image capturing in the cameras 31 to 34 can be performed at the image capturing timing SH2 synchronously with the camera sync signal. Consequently, an image can be displayed smoothly in the display device 36.
  • Although the present invention achieved by the inventors herein have been concretely described above on the basis of the embodiments, obviously, the invention is not limited to the embodiments but can be variously changed without departing from the gist.
  • For example, an overview image may be generated by performing a viewpoint converting process as described in the patent document 1 on distortion-corrected image data in the process block 43 in the image processing modules 15 to 18.

Claims (7)

1-7. (canceled)
8. A semiconductor integrated circuit on a single semiconductor substrate and for use with a camera and a semiconductor memory, comprising:
a first interface configured to fetch first image data captured by the camera;
an image processing module coupled to the first interface and configured to perform a predetermined data process on the first image data received from the first interface and configured to output corrected image data, the predetermined data process comprising
a process of extracting second image data from a pre-designated region of the first image data fetched by the first interface;
a process of performing distortion correction on the extracted second image data to provide the corrected image data; and
a process of writing the corrected image data into the semiconductor memory;
a bus coupled to outputs of the image processing module; and
a second interface coupled to the bus and configured to transmit the corrected image data to the semiconductor memory and to receive the corrected image data from the semiconductor memory.
9. The semiconductor integrated circuit according to claim 8, further comprising:
a display control unit configured to fetch the corrected image data stored in the semiconductor memory, synthesize the corrected image data, and display the resultant image data on a display device.
10. The semiconductor integrated circuit according to claim 9,
wherein the image processing module includes:
a line memory configured to store the first image data received via the first interface;
a display list buffer configured to store a display list; and
a process circuit configured to perform the distortion correction on the first image data in the line memory in accordance with the display list.
11. The semiconductor integrated circuit according to claim 10,
wherein the display list includes:
a first command for instructing coordinate transformation of image data stored in the line memory and storage of the coordinate-transformed image data into the semiconductor memory;
a second command for making execution of a next display list waited until a predetermined condition is satisfied; and
a third command for generating a predetermined interruption signal at a timing point when image data of one screen is obtained by process in the process circuit, and the process circuit executes the first, second, and third commands.
12. The semiconductor integrated circuit according to claim 11, further comprising:
a central processing unit coupled to the bus,
wherein the central processing unit is configured to write corresponding image data in the semiconductor memory into the display control unit via the bus by an interrupting process corresponding to an interruption signal caused by the third command in the display list.
13. The semiconductor integrated circuit according to claim 12, further comprising:
a port which outputs a sync signal for controlling the image capturing timings of the camera.
US14/718,854 2010-10-27 2015-05-21 Semiconductor integrated circuit and multi-angle video system Abandoned US20150254820A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/718,854 US20150254820A1 (en) 2010-10-27 2015-05-21 Semiconductor integrated circuit and multi-angle video system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010240444A JP5679763B2 (en) 2010-10-27 2010-10-27 Semiconductor integrated circuit and all-around video system
JP2010-240444 2010-10-27
US13/274,324 US9071750B2 (en) 2010-10-27 2011-10-15 Semiconductor integrated circuit and multi-angle video system
US14/718,854 US20150254820A1 (en) 2010-10-27 2015-05-21 Semiconductor integrated circuit and multi-angle video system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/274,324 Continuation US9071750B2 (en) 2010-10-27 2011-10-15 Semiconductor integrated circuit and multi-angle video system

Publications (1)

Publication Number Publication Date
US20150254820A1 true US20150254820A1 (en) 2015-09-10

Family

ID=45996307

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/274,324 Active 2032-12-10 US9071750B2 (en) 2010-10-27 2011-10-15 Semiconductor integrated circuit and multi-angle video system
US14/718,854 Abandoned US20150254820A1 (en) 2010-10-27 2015-05-21 Semiconductor integrated circuit and multi-angle video system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/274,324 Active 2032-12-10 US9071750B2 (en) 2010-10-27 2011-10-15 Semiconductor integrated circuit and multi-angle video system

Country Status (2)

Country Link
US (2) US9071750B2 (en)
JP (1) JP5679763B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5899918B2 (en) * 2011-12-27 2016-04-06 株式会社リコー Image processing apparatus and image processing method
US9218526B2 (en) 2012-05-24 2015-12-22 HJ Laboratories, LLC Apparatus and method to detect a paper document using one or more sensors
US9229477B2 (en) 2012-12-11 2016-01-05 Dell Products L.P. Multi-function information handling system with multi-orientation stand
US9280179B2 (en) * 2012-12-11 2016-03-08 Dell Products L.P. Multi-function information handling system tablet with multi-directional cooling
JP6330383B2 (en) * 2014-03-12 2018-05-30 株式会社デンソー Composite image generation apparatus and composite image generation program
KR102398027B1 (en) * 2015-07-03 2022-05-17 삼성전자주식회사 Dynamic preview display method of electronic apparatus and electronic apparatus thereof
JP2017037505A (en) * 2015-08-11 2017-02-16 ルネサスエレクトロニクス株式会社 Semiconductor device
US10965866B2 (en) 2018-03-20 2021-03-30 Panasonic Intellectual Property Management Co., Ltd. Image generation system, image display system, image generation method, and moving vehicle

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050036046A1 (en) * 2003-08-14 2005-02-17 Nokia Corporation Method of or device for processing image data, a processed image data format, and a method of or device for displaying at least one image from the processed image data
US20070064267A1 (en) * 2005-09-16 2007-03-22 Akira Murakata Image processing apparatus
US20070269112A1 (en) * 2006-05-16 2007-11-22 Matsushita Electric Industrial Co., Ltd. Image processing apparatus and image processing program
US20080238866A1 (en) * 2007-03-30 2008-10-02 Seiko Epson Corporation Drawing circuit of electro-optical display device, drawing method of electro-optical display device, electro-optical display device, and electronic apparatus

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2776098B2 (en) * 1991-11-27 1998-07-16 松下電器産業株式会社 Clock recovery circuit and time axis error correction device
JP3939551B2 (en) * 1999-08-24 2007-07-04 富士通株式会社 Moving image processing apparatus, method thereof, and recording medium
JP4516682B2 (en) * 2000-10-06 2010-08-04 富士通株式会社 Video recording / playback device
US6807293B2 (en) * 2001-03-29 2004-10-19 Ge Medical Systems Global Technology Company, Llp Method for multi-path rendering of medical images
JP2003150395A (en) * 2001-11-15 2003-05-23 Nec Corp Processor and program transfer method thereof
US20090093688A1 (en) * 2003-05-30 2009-04-09 Michael Mathur System, Device, and Method for Remote Monitoring and Servicing
US7636498B2 (en) * 2003-06-02 2009-12-22 Olympus Corporation Image processing apparatus
US20050159189A1 (en) * 2003-12-30 2005-07-21 Motorola, Inc. Method and apparatus for use in accessing and displaying data on a limited display
JP2005311698A (en) * 2004-04-21 2005-11-04 Auto Network Gijutsu Kenkyusho:Kk Vehicle periphery visually recognizing apparatus
US20080158364A1 (en) * 2004-05-20 2008-07-03 Hiroshi Miyajima Image Processing Device and Data Processing Method
KR100651938B1 (en) * 2004-08-16 2006-12-06 엘지전자 주식회사 apparatus, method and medium for controlling image orientation
JP4877447B2 (en) * 2004-08-31 2012-02-15 株式会社エクォス・リサーチ Vehicle peripheral image display device
US7298938B2 (en) * 2004-10-01 2007-11-20 University Of Washington Configuration memory for a scanning beam device
JP4239955B2 (en) * 2004-11-19 2009-03-18 コニカミノルタセンシング株式会社 Multi-angle colorimeter, lighting device and light receiving device
US8072643B2 (en) * 2004-12-17 2011-12-06 Sanyo Electric Co., Ltd. Image processing apparatus
EP1892957A4 (en) * 2005-06-15 2010-02-17 Nikon Corp Electronic camera system, electronic camera, cradle, image accumulation device, and program
JP4617214B2 (en) * 2005-08-05 2011-01-19 キヤノン株式会社 Image photographing apparatus, control method therefor, program, and image photographing system
US20070296654A1 (en) * 2006-06-22 2007-12-27 Cheng-Su Huang Image Processing Device of a Liquid Crystal Display
KR101139454B1 (en) * 2006-07-14 2012-04-30 엘지전자 주식회사 Mobile communication terminal and and operating method thereof
US8161339B2 (en) * 2006-08-11 2012-04-17 Sharp Kabushiki Kaisha Content playback apparatus, content playback method, and storage medium
JP2008109486A (en) * 2006-10-26 2008-05-08 Auto Network Gijutsu Kenkyusho:Kk On-vehicle imaging system and imaging apparatus
JP2008306402A (en) * 2007-06-06 2008-12-18 Auto Network Gijutsu Kenkyusho:Kk Onboard imaging and display device
JP5053043B2 (en) * 2007-11-09 2012-10-17 アルパイン株式会社 Vehicle peripheral image generation device and vehicle peripheral image distortion correction method
JP4934579B2 (en) * 2007-12-14 2012-05-16 三洋電機株式会社 Driving assistance device
JP5292874B2 (en) 2007-12-17 2013-09-18 富士通株式会社 VEHICLE IMAGE PROCESSING DEVICE, VEHICLE IMAGE PROCESSING PROGRAM, AND VEHICLE IMAGE PROCESSING METHOD
JP5422902B2 (en) * 2008-03-27 2014-02-19 三洋電機株式会社 Image processing apparatus, image processing program, image processing system, and image processing method
JP5173552B2 (en) 2008-04-23 2013-04-03 アルパイン株式会社 Vehicle perimeter monitoring apparatus and distortion correction value setting correction method applied thereto
JP2009294719A (en) * 2008-06-02 2009-12-17 Autonetworks Technologies Ltd Road marking recognition device
US8248509B2 (en) * 2008-08-01 2012-08-21 Canon Kabushiki Kaisha Information registration system, information registration method, registration apparatus, and image pickup apparatus
JP5456330B2 (en) * 2009-02-04 2014-03-26 アルパイン株式会社 Image display apparatus and camera mounting angle calculation method
US20100328456A1 (en) * 2009-06-30 2010-12-30 Nokia Corporation Lenslet camera parallax correction using distance information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050036046A1 (en) * 2003-08-14 2005-02-17 Nokia Corporation Method of or device for processing image data, a processed image data format, and a method of or device for displaying at least one image from the processed image data
US20070064267A1 (en) * 2005-09-16 2007-03-22 Akira Murakata Image processing apparatus
US20070269112A1 (en) * 2006-05-16 2007-11-22 Matsushita Electric Industrial Co., Ltd. Image processing apparatus and image processing program
US8073280B2 (en) * 2006-05-16 2011-12-06 Panasonic Corporation Image processing apparatus and image processing program for correcting image degradation
US20080238866A1 (en) * 2007-03-30 2008-10-02 Seiko Epson Corporation Drawing circuit of electro-optical display device, drawing method of electro-optical display device, electro-optical display device, and electronic apparatus

Also Published As

Publication number Publication date
JP2012095075A (en) 2012-05-17
US9071750B2 (en) 2015-06-30
JP5679763B2 (en) 2015-03-04
US20120105679A1 (en) 2012-05-03

Similar Documents

Publication Publication Date Title
US20150254820A1 (en) Semiconductor integrated circuit and multi-angle video system
TWI524306B (en) Image transformation and multi-view output systems and methods
US10282805B2 (en) Image signal processor and devices including the same
US10387995B2 (en) Semiconductor device, electronic apparatus, and image processing method
JP5735227B2 (en) Image conversion apparatus and image conversion system
US20230396890A1 (en) Image processors and image processing methods
US20070252905A1 (en) Image processing apparatus
JP2010257357A (en) Image processing apparatus, semiconductor data processing apparatus, and data processing system
JP5091643B2 (en) Image processing apparatus, driving support system, and vehicle
US10713757B2 (en) Image processing apparatus, control method thereof, and storage medium
WO2011070631A1 (en) Image synthesis device and image synthesis program
JP2010176547A (en) Controller included in image processor, control method and control processing program
US8970766B2 (en) Imaging device
JP5890044B2 (en) vehicle
JP6295619B2 (en) Image processing apparatus and method, and electronic apparatus
US8982235B2 (en) Image processing device and image processing method
US20120131315A1 (en) Data processing apparatus
JP5959684B2 (en) Image conversion system
JP5047912B2 (en) In-vehicle image processing apparatus and image processing method thereof
JP2017017672A (en) Image processing device, image processing method and image processing program
US20220058768A1 (en) Low latency streaming remapping engine
JP2013183383A (en) Imaging apparatus, imaging method and program
CN116156340A (en) Semiconductor device and image processing system

Legal Events

Date Code Title Description
AS Assignment

Owner name: RENESAS ELECTRONICS CORPORATION, JAPAN

Free format text: CHANGE OF ADDRESS;ASSIGNOR:RENESAS ELECTRONICS CORPORATION;REEL/FRAME:044742/0288

Effective date: 20150727

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION