WO2019176579A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2019176579A1
WO2019176579A1 PCT/JP2019/008003 JP2019008003W WO2019176579A1 WO 2019176579 A1 WO2019176579 A1 WO 2019176579A1 JP 2019008003 W JP2019008003 W JP 2019008003W WO 2019176579 A1 WO2019176579 A1 WO 2019176579A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
encoding
position information
encoded data
Prior art date
Application number
PCT/JP2019/008003
Other languages
English (en)
French (fr)
Inventor
北村 卓也
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2020506391A priority Critical patent/JP7331831B2/ja
Priority to CN201980017966.7A priority patent/CN111837393B/zh
Priority to EP19767671.1A priority patent/EP3767949A4/en
Priority to US16/978,934 priority patent/US11202088B2/en
Priority to KR1020207025488A priority patent/KR20200128023A/ko
Publication of WO2019176579A1 publication Critical patent/WO2019176579A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/226Characteristics of the server or Internal components of the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of suppressing a reduction in encoding efficiency.
  • the present disclosure has been made in view of such a situation, and is intended to suppress a reduction in encoding efficiency.
  • An image processing apparatus transcodes encoded data obtained by encoding a captured image captured by a moving body including an imaging unit based on position information indicating a position where the captured image is generated.
  • An image processing apparatus including a transcoding unit.
  • An image processing method transcodes encoded data obtained by encoding a captured image captured by a moving body including an imaging unit based on position information indicating a position where the captured image is generated. This is an image processing method.
  • encoded data obtained by encoding a captured image captured by a moving body including an imaging unit is transcoded based on position information indicating a position where the captured image is generated. Is done.
  • an image can be processed.
  • a reduction in encoding efficiency can be suppressed.
  • FIG. 10 is a diagram for explaining a method # 1-5. It is a flowchart explaining the example of the flow of a frame selection process. It is a flowchart explaining the example of the flow of a user data process.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer.
  • a flying object is provided with a camera and the ground or the like is imaged from the sky by the camera while the flying object is flying.
  • a predetermined range such as the ground from the flying object can be imaged without any gap, and three-dimensional map information such as the ground can be generated from the captured image. Since captured image data processed by such a system has a large data amount, it is generally encoded and recorded or transmitted in a state where the data amount is reduced.
  • the captured image is encoded based on position information indicating a position where the moving body images the subject and generates the captured image.
  • the image processing apparatus includes an encoding unit that encodes a captured image based on position information indicating a position where the moving body images the subject and generates the captured image.
  • the position information may be any information, for example, information regarding the position of the moving object may be included, information regarding the movement of the moving object may be included, and imaging may be performed.
  • the control information may be included.
  • the position of the moving body may include not only the position in the horizontal direction but also the position in the height direction. Further, this position may be an absolute position (for example, global coordinates such as latitude and longitude), or may be a relative position with respect to some reference (for example, a relative position with respect to the ground station).
  • the moving body may be anything.
  • a flying object such as a so-called drone, an airplane, or a balloon may be used
  • a car such as an automobile or a bicycle may be used
  • a ship may be used
  • a person, an animal, or the like may be used. It may be a living organism.
  • the encoded data obtained by encoding the captured image captured by the moving body including the imaging unit is transcoded based on the position information indicating the position where the captured image is generated.
  • a transcoding unit that transcodes encoded data obtained by encoding a captured image captured by a moving body including an imaging unit based on position information indicating a position where the captured image is generated. Be prepared.
  • the position information may be any information, for example, information regarding the position of the moving object may be included, information regarding the movement of the moving object may be included, and imaging may be performed.
  • the control information may be included.
  • the position of the moving body may include not only the position in the horizontal direction but also the position in the height direction. Further, this position may be an absolute position (for example, global coordinates such as latitude and longitude), or may be a relative position with respect to some reference (for example, a relative position with respect to the ground station).
  • moving image encoded data encoded by the moving image encoding method
  • moving image encoded data are also referred to as transcoding
  • the flying object captures a still image, and encodes the captured image of the still image using a still image encoding method.
  • encoding for still images has lower encoding efficiency (compression rate) than encoding for moving images.
  • imaging is performed so that many of the imaging ranges overlap each other between a plurality of captured images. In other words, there are a lot of redundant information in the captured image group generated in the flying object, but in the encoding method for still images, encoding is performed without taking that into consideration, so the encoding efficiency is reduced accordingly. .
  • the flying object captures the ground or the like to generate a captured image, encodes it with a still image encoding method, generates still image encoded data, and records the still image encoded data. To. At that time, the flying object adds position information and the like at the time of imaging to the still image encoded data as metadata.
  • the captured image group (still image encoded data group) is transferred from the flying object to a ground relay station (hereinafter also referred to as a ground station).
  • a ground station decodes the still image encoded data group and re-encodes it with the encoding method for moving images. That is, the ground station transcodes the captured image.
  • the ground station performs the transcoding (encoding by the encoding method for moving images) based on the position information corresponding to each captured image, and generates the moving image encoded data.
  • the ground station can reduce the data amount as compared with the still image encoded data generated by the flying object. That is, a reduction in encoding efficiency can be suppressed. By doing so, it is possible to record or transmit the captured image with a reduced data amount. That is, it is possible to suppress an increase in the load of recording and transmission of captured images.
  • a reference frame may be selected based on position information as in method # 1-1.
  • Some video coding methods can reduce redundant information between frames by making predictions with reference to other frames.
  • encoding is performed using each captured image as a frame image.
  • a frame to be referred to (that is, another captured image) is selected based on position information of the captured image. That is, a captured image closer to the position is referred to.
  • a motion vector may be calculated based on position information.
  • a moving image encoding method in which a motion vector is generated between a current frame and a reference frame to generate a motion vector, and the motion vector is used for encoding.
  • the flying object captures an image while moving, there is a high correlation between the movement between captured images and the movement of the flying object (including the movement of the camera). That is, the motion vector can be calculated more efficiently by calculating the motion vector in consideration of the position information (movement amount of the flying object).
  • an encoding parameter used for encoding may be obtained based on position information.
  • the GOP structure may be set based on the position information.
  • the correlation between the captured images depends on the movement of the flying object (including the movement of the camera). For example, the correlation between captured images decreases as the movement of the flying object increases, and the correlation between captured images increases as the movement of the flying object decreases.
  • rate control may be performed based on position information, for example, as in method # 1-4.
  • pseudo two-pass encoding can be realized by estimating a code amount using position information and performing encoding using an encoding parameter set according to the estimate.
  • pseudo two-pass rate control (hereinafter also referred to as pseudo two-pass rate control) can be realized. Therefore, since more appropriate rate control can be performed, encoding efficiency can be improved.
  • the picked-up image (frame) may be selected based on the position information.
  • the movement of the flying object is not stable, and an unintended imaging range may be imaged due to external factors such as wind.
  • a captured image in such an unintended range has no utility value and is likely to be unnecessary.
  • such a captured image may be deleted (for example, 3D map information can be generated without inconvenience). Therefore, it is determined whether or not the image is an unnecessary captured image based on position information (that is, an imaging range), and the unnecessary captured image is deleted and encoded, thereby suppressing a reduction in encoding efficiency. can do.
  • the position information may be added (associated) as the user data to the moving image encoded data.
  • the position information can be used when processing the captured image restored by decoding the moving image encoded data. For example, when generating map information, position information of each captured image can be used, and processing can be performed more efficiently.
  • the captured images generated by the flying objects are close to each other and have high correlation. Therefore, by doing in this way, it is possible to refer to captured images with different generated flying objects, so that the encoding efficiency can be further improved.
  • method # 3 it is selected whether the encoded data is transmitted or recorded in the mobile body.
  • the flying object transmits the still image encoded data to a facility (such as a cloud) that generates 3D map information.
  • a facility such as a cloud
  • an increase in the load on the ground station can be suppressed.
  • the flying object when the communication environment is not good (not enough), the flying object records still image encoded data on a recording medium, and transmits the still image encoded data to the ground station after imaging (after completion of the flight). Then, the ground station transcodes the still image encoded data into moving image encoded data, and transmits the moving image encoded data to a facility (for example, a cloud or the like) that generates 3D map information.
  • a facility for example, a cloud or the like
  • FIG. 2 is a block diagram illustrating an example of a configuration of an aspect of an image processing system to which the present technology is applied.
  • An image processing system 100 shown in FIG. 2 is a system that images the ground or the like from the sky, generates and uses the captured 3D map information of the ground or the like using the captured image.
  • the image processing system 100 includes a flying object 101, a ground station 102, a cloud 103, and a terminal device 104.
  • the flying object 101 is an aspect of a moving object and flies in the air.
  • the flying body 101 may be a so-called manned moving body on which a pilot rides, or may be a so-called unmanned moving body in which the pilot flies by remote control or flies according to a program or the like. In other words, the flying object 101 flies according to the control by the operator or the control by the program or the like.
  • the flying object 101 has a camera 101A, and can image a subject while flying.
  • the camera 101A may be movable (the imaging range (imaging direction) is variable with respect to the casing of the flying object 101), or may be fixed (the imaging range (imaging direction) is fixed to the casing of the flying object 101). It may be fixed). Further, the camera 101A may be detachable from the flying object 101, or may be integrated with the flying object 101 (not detachable).
  • the flying object 101 images the subject area 110 using the camera 101A while flying over the subject area 110 which is a desired range such as the ground.
  • the subject area 110 is wider than the imaging range of the camera 101A, and it is difficult for the camera 101A to capture the entire subject area 110 at a time.
  • the flying object 101 captures an image using the camera 101A while moving in a zigzag manner as shown by an arrow over the subject area 110.
  • the flying object 101 moves as described above or changes the angle of the camera 101 ⁇ / b> A to change the imaging range every time and repeats imaging to capture the subject area 110 without gaps.
  • the flying object 101 encodes each captured image (still image) generated by such imaging using a still image encoding method, and generates still image encoded data.
  • the flying object 101 adds information related to the position of the imaging range to the still image encoded data as position information.
  • the position information includes, for example, GPS (Global Positioning System) information indicating the position of the flying object 101, IMU (Inertial Measurement Unit) information indicating the movement of the flying object 101, and the direction (imaging direction) of the camera 101A. Imaging control information or the like is included.
  • the still image encoded data to which such position information is added is stored in a storage medium inside the flying object 101.
  • the flying object 101 and the ground station 102 are communicably connected to each other, and the still image encoded data stored in the storage medium of the flying object 101 is transmitted to the ground station 102.
  • This connection may be any type, for example, a wired connection (wired communication) or a wireless connection (wireless communication).
  • still image encoded data may be transmitted from the flying object 101 to the ground station 102 via a storage medium such as a removable medium (in a state stored in the storage medium).
  • the ground station 102 is an aspect of the information processing apparatus (image processing apparatus), and is installed near the subject area 110, for example, and acquires still image encoded data from the flying object 101 after imaging (flighting).
  • the ground station 102 transcodes the acquired still image encoded data and converts it into moving image encoded data.
  • the ground station 102 encodes the captured image by the encoding method for moving images using the position information added to the still image encoded data.
  • the ground station 102 is communicably connected to the cloud 103 (or is connectable), and the generated moving image encoded data is transferred to the cloud 103 through the communication.
  • the cloud 103 is an aspect of an information processing apparatus (image processing apparatus), has an arbitrary configuration, and can perform arbitrary processing.
  • the hardware performance of the cloud 103 is sufficiently high, and advanced processing (complex processing with a large load) can be easily performed.
  • the cloud 103 acquires moving image encoded data from the ground station 102, decodes the moving image encoded data, restores a captured image, performs a three-dimensional survey of the subject region 110 using the captured image, Three-dimensional map information of the subject area 110 is generated. Then, the cloud 103 accumulates the generated 3D map information in a database or the like, and provides a distribution service for the 3D map information.
  • the terminal device 104 is an aspect of an information processing device (image processing device), and is a terminal device that receives a distribution service provided by the cloud 103.
  • the terminal device 104 is communicably connected to the cloud 103 (or can be connected), and through the communication, the subject area 110 is designated to the cloud 103 and the 3D map information is supplied. Request.
  • the cloud 103 supplies the requested 3D map information to the terminal device 104.
  • the terminal device 104 displays the supplied 3D map information as an image on a monitor in accordance with a user operation or the like.
  • the user of the terminal device 104 can use the displayed three-dimensional map.
  • FIG. 3 is a block diagram illustrating a main configuration example of the flying object 101.
  • the flying object 101 includes, for example, a control unit 131, a flying unit 151, an IMU (Inertial Measurement Unit) unit 152, a GPS (Global Positioning System) unit 153, an imaging control unit 154, an imaging unit 155, The encoding unit 156, the information addition unit 157, the storage unit 158, and the transmission unit 159 are included.
  • the control unit 131 performs processing related to the control of the flying object 101.
  • the control unit 131 controls operations of the processing units of the flying unit 151 to the transmission unit 159.
  • the control unit 131 controls the flight of the flying object 101 (path control, speed control, etc.), imaging control (control of the camera 101A posture (angle, etc.), focal length, zooming, imaging timing, exposure time, etc.) Control of various processes such as encoding of captured images, acquisition and addition of position information, storage and readout (transmission) of still image encoded data.
  • the control unit 131 may have any configuration.
  • the control unit 131 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like.
  • the program and data stored in the unit 158 and the like are loaded into the RAM and executed to perform processing relating to the control of the flying object 101.
  • control unit 131 can perform processing related to control of the flying object 101 based on a user instruction or the like input via an input unit (operation unit) (not shown). Furthermore, the control unit 131 can perform processing related to the control of the flying object 101 based on control information supplied from another device via a communication unit (not shown).
  • the flying unit 151 has functions necessary for the flying object 101 to fly, such as a propeller and a motor. That is, the flying body 101 flies by driving the flying unit 151.
  • the flying unit 151 is driven under the control of the control unit 131. For example, the flying unit 151 starts or ends the flight in accordance with an instruction from the control unit 131.
  • the flying unit 151 causes the flying object 101 to fly (move) so that the position, height, route, speed, and the like are as instructed by the control unit 131.
  • the IMU unit 152 includes a three-axis gyro (angular velocity sensor or each acceleration sensor) and a three-direction acceleration sensor, and drives these sensors under the control of the control unit 131 to obtain a three-dimensional angular velocity and acceleration. That is, the IMU unit 152 generates information regarding the movement of the flying object 101.
  • the IMU unit 152 supplies information related to the generated motion (for example, including three-dimensional angular velocity and acceleration) to the information adding unit 157.
  • the GPS unit 153 is controlled by the control unit 131, receives a signal transmitted from the GPS satellite 161, and obtains the position (coordinates) of the flying object 101 based on the signal. That is, the GPS unit 153 generates information regarding the position of the flying object 101. The GPS unit 153 supplies information (GPS information) about the generated position to the information adding unit 157.
  • the imaging control unit 154 is controlled by the control unit 131 and controls driving of the imaging unit 155.
  • the imaging control unit 154 controls the posture (angle, etc.), focal length, zooming, imaging timing, exposure time, and the like of the camera 101A.
  • the imaging control unit 154 supplies imaging control information indicating the control content (that is, the imaging direction and the like) to the information adding unit 157.
  • the imaging unit 155 includes a camera 101A, a mechanism for controlling the posture of the camera 101A, and the like, and performs processing related to imaging according to the control of the imaging control unit 154. For example, the imaging unit 155 captures a subject (for example, the subject region 110) at the imaging timing specified by the imaging control unit 154 with the posture, focal length, zooming, and exposure time specified by the imaging control unit 154, and a still image. The captured image (data) is generated. The imaging unit 155 supplies the captured image to the encoding unit 156.
  • the encoding unit 156 is controlled by the control unit 131 and encodes each captured image supplied from the imaging unit 155 using a still image encoding method to generate still image encoded data.
  • the encoding method for still images is arbitrary. For example, JPEG (Joint Photographic Experts Group) or the like may be used.
  • the encoding unit 156 supplies the generated still image encoded data to the information adding unit 157.
  • the information adding unit 157 is controlled by the control unit 131 and adds position information regarding the position of the captured image to the still image data.
  • the position information includes, for example, at least the GPS information supplied from the GPS unit 153, the IMU information supplied from the IMU unit 152, and the imaging control information supplied from the imaging control unit 154 to the still image encoded data. Any one is included. That is, the position information includes at least one of information related to the position and movement of the flying object 101, information related to imaging control, and the like.
  • the position of the flying object 101 may include a horizontal position (for example, latitude or longitude), a vertical position (height), or the like. Both may be included. This height may be measured, for example, by providing an altimeter on the flying object 101 and using the altimeter, or calculating from the IMU information or the like.
  • the information adding unit 157 adds the position information as metadata to the still image encoded data and creates a file.
  • This file format is arbitrary.
  • the information adding unit 157 may add position information to the encoded data using Exif (Exchangeable Image File Format). By using such a format, access to the location information can be made easier.
  • the information adding unit 157 supplies the image file generated by adding the position information to the still image encoded data to the storage unit 158 as described above.
  • the storage unit 158 includes an arbitrary storage medium such as a hard disk or a flash memory, and stores the image file supplied from the information addition unit 157 in the storage medium under the control of the control unit 131.
  • the storage unit 158 is controlled by the control unit 131 to read out an image file stored in the storage medium and supply the image file to the transmission unit 159.
  • the transmission unit 159 has a network interface, for example, and is controlled by the control unit 131 to perform processing related to transmission via the network interface. For example, after the flight (after the completion of imaging), the transmission unit 159 transmits the image file (for example, the image file generated in the current flight) stored in the storage unit 158 while being connected to the ground station 102 so as to be communicable. Read out and transmit to the ground station 102.
  • This communication method / communication method is arbitrary. For example, wired communication or wireless communication may be used.
  • the imaging unit 155 repeats imaging while updating the imaging range so that the imaging range overlaps with the other. Therefore, for example, as in the captured image 171 to the captured image 174 shown in FIG. 4A, many portions overlap each other in the captured images captured in the vicinity of each other. Actually, since it is a captured image for generating a 3D image (three-dimensional map information), a plurality of captured images at the same point with different imaging angles (directions) may be used. Although it cannot be done, the similarity as an image tends to be higher than that of non-overlapping parts. That is, in terms of image information, these captured image groups include a lot of redundant information.
  • the flying object 101 captures a still image as described above, and encodes the captured image using a still image encoding method.
  • the still image encoded data of the captured image 171 includes predetermined position information 181 corresponding to the captured image 171 (position information 181 at the time of capturing the captured image 171).
  • the image file 191 is generated with the file format.
  • the position information 181 includes, for example, GPS information (GPS: xx; xx; xxx, xxx; xx; xxx), IMU information (IMU: xxx, xxx), and imaging control information (camera angle: xxx, xxx). included.
  • position information 182 corresponding to the captured image 172 position information 182 at the time of capturing the captured image 172 is added to the still image encoded data of the captured image 172 in a predetermined file format.
  • position information 183 corresponding to the captured image 173 position information 183 at the time of capturing the captured image 173 is added to the still image encoded data of the captured image 173 in a predetermined file format. 193 is generated.
  • the position information 184 corresponding to the captured image 174 (position information 184 at the time of capturing the captured image 174) corresponding to the captured image 174 is added to the still image encoded data of the captured image 174 in a predetermined file format. 194 is generated.
  • these image files include still image encoded data and have a larger code amount than moving image encoded data. Further, in the still image encoding method, each captured image is encoded independently, and thus it is difficult to reduce redundant information between the captured images as described above. That is, the image file includes a lot of redundant information as shown in FIG. Therefore, the encoding efficiency is reduced (there is room for improvement).
  • the ground station 102 transcodes such an image file (still image encoded data) and converts it into moving image encoded data. Further, at that time, encoding is performed using the position information added to the still image encoded data. In this way, the ground station 102 can generate moving image encoded data with improved encoding efficiency. That is, a reduction in encoding efficiency can be suppressed.
  • FIG. 5 is a block diagram illustrating a main configuration example of the ground station 102.
  • the ground station 102 includes, for example, a reception unit 201, a separation unit 202, a decoding unit 203, a moving image encoding unit 204, a transmission unit 205, and a storage unit 206.
  • the moving image encoding unit 204 includes a frame memory 211, a motion prediction unit 212, and an encoding unit 213.
  • the receiving unit 201 has, for example, a network interface, and performs processing related to reception via the network interface. For example, the receiving unit 201 receives an image file transmitted from the flying object 101 (transmitting unit 159) while being connected to the flying object 101 so as to be communicable. The receiving unit 201 supplies the received image file to the separating unit 202.
  • the separation unit 202 separates the position information of the supplied image file and the still image encoded data.
  • the separation unit 202 supplies the position information (GPS information, IMU information, imaging control information, etc.) separated from the still image encoded data to the moving image encoding unit 204 (the motion prediction unit 212 and the encoding unit 213). Further, the separation unit 202 supplies the still image encoded data separated from the position information to the decoding unit 203.
  • the decoding unit 203 decodes the supplied still image encoded data by a decoding method corresponding to the encoding method, and restores the captured image (data thereof). For example, as in the above-described example, when the captured images are encoded as still images one by one using the still image encoding method, the decoding unit 203 decodes the still image corresponding to the encoding method. In this manner, each still image encoded data is decoded and each captured image is restored. The decoding unit 203 supplies the restored captured image (image data) to the frame memory 211 of the moving image encoding unit 204.
  • the moving image encoding unit 204 performs processing related to encoding of a captured image.
  • the moving image encoding unit 204 encodes a captured image captured by the moving body.
  • the moving image encoding unit 204 performs encoding based on position information corresponding to a position where the moving body has captured the subject and generated the captured image.
  • the moving image encoding unit 204 performs the encoding by another method different from the encoding method of the encoded data before the decoding unit 203 decodes.
  • the moving image encoding unit 204 encodes a plurality of captured images restored by decoding the still image encoded data by the decoding unit 203 as a frame image of the moving image.
  • the moving image encoding unit 204 encodes the captured image group using a moving image encoding method to generate moving image encoded data.
  • the encoding scheme for moving images is arbitrary.
  • MPEG Motion Picture Experts Group
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • the moving image encoding unit 204 encodes the captured image group using motion prediction.
  • the frame memory 211 acquires and stores the captured image supplied from the decoding unit 203.
  • the motion prediction unit 212 performs motion prediction using the captured image stored in the frame memory 211 and the position information supplied from the separation unit 202, and generates a motion vector.
  • the motion prediction unit 212 supplies the generated motion vector to the encoding unit 213.
  • the encoding unit 213 encodes the captured image group stored in the frame memory 211 using the motion vector supplied from the motion prediction unit 212 and the position information supplied from the separation unit 202, and Generate data.
  • the moving image encoding unit 204 (encoding unit 213) supplies the generated moving image encoded data to the transmission unit 205, the storage unit 206, or both.
  • the transmission unit 205 has a network interface and performs processing related to transmission via the network interface. For example, the transmission unit 205 transmits the moving image encoded data supplied from the moving image encoding unit 204 (encoding unit 213) to another device (for example, the cloud 103 connected to be communicable).
  • This communication method / communication method is arbitrary. For example, wired communication or wireless communication may be used.
  • the storage unit 206 includes an arbitrary storage medium such as a hard disk or a flash memory, for example, and stores the moving image encoded data supplied from the moving image encoding unit 204 (encoding unit 213) in the storage medium.
  • the moving image encoded data stored in the storage unit 206 can be used by an arbitrary method.
  • the ground station 102 may perform predetermined image processing such as generation of three-dimensional map information, and the moving image data may be read from the storage unit 206 and used during the image processing.
  • the moving image encoded data may be read from the storage unit 206 and transmitted to another device via the transmission unit 205.
  • the storage unit 206 is connected to another device (the storage unit 206 may be removed from the ground station 102 at that time), and the moving image encoded data is read from the storage unit 206 by another device. Also good.
  • FIG. 6 shows an example of a timing chart in which processing is compared between when still image encoded data is transmitted to the cloud 103 and when moving image encoded data is transcoded and transmitted to the cloud 103.
  • the process in which the flying object 101 flies and images and records the still image the process of uploading the still image encoded data (still image data) to the cloud 103, the cloud 103 3D processing for generating 3D map information based on the captured image, processing for downloading the 3D map information (3D data) by the terminal device 104, and 3D map information downloaded by the terminal device 104 as an image.
  • the display process is performed as shown in FIG.
  • the still image code A process for transcoding the encoded data into the encoded video data and a process for uploading the encoded video data (moving image data) to the cloud 103 are performed.
  • Such an image processing system 100 can easily generate and use 3D map information.
  • the more difficult it is to measure on the ground due to its vastness or complicated terrain the more easily the 3D map information can be generated, so the utility value is higher.
  • a place such as a suburb or a mountain is sufficiently assumed to be a site where the 3D map information is generated (a place of the subject region 110).
  • the communication environment is not good (the communication band is narrow) in many cases.
  • the ground station 102 transcodes the still image encoded data into the moving image encoded data as described above, so that the data amount can be greatly reduced as compared with the still image encoded data. Furthermore, encoding can be performed more efficiently by performing encoding using position information. That is, a reduction in encoding efficiency can be suppressed.
  • the flying object 101 executes an imaging process when imaging.
  • FIG. 7 an example of the flow of imaging processing executed by the flying object 101 will be described.
  • the flying unit 151 is controlled by the control unit 131 in step S101 to fly over a desired position above the subject area 110.
  • step S102 the imaging control unit 154 is controlled by the control unit 131 to control the imaging unit 155, and adjusts the imaging direction to a desired direction. Adjust the angle of view as necessary.
  • step S103 the imaging unit 155 is controlled by the control unit 131 to capture the subject (subject area 110) and generate a captured image.
  • the IMU unit 152 generates IMU information at that time
  • the GPS unit 153 generates GPS information at that time
  • the imaging control unit 154 generates imaging control information at that time.
  • step S104 the encoding unit 156 is controlled by the control unit 131, and encodes the captured image generated in step S103 using a still image encoding method such as JPEG.
  • step S105 the information adding unit 157 associates the position information including the IMU information, the GPS information, and the imaging control information generated in step S103 with the still image encoded data generated in step S104.
  • the information adding unit 157 adds the position information as metadata to the still image encoded data in a predetermined file format such as Exif, and generates an image file.
  • step S106 the storage unit 158 stores the image file generated in step S105.
  • step S106 the imaging process is completed.
  • the flying object 101 images the entire subject area 110 by repeating such an imaging process.
  • the receiving unit 201 acquires the image file transmitted from the flying object 101 (transmitting unit 159) in step S121.
  • step S122 the separation unit 202 extracts position information from the image file acquired in step S121, and separates the position information from the still image encoded data.
  • step S123 the decoding unit 203 decodes the still image encoded data separated from the position information in step S122, and restores the captured image.
  • step S124 the frame memory 211 stores the captured image (image data) restored in step S123.
  • step S125 the motion prediction unit 212 performs motion prediction using the position information extracted in step S122 and the captured image stored in step S124, and generates a motion vector.
  • step S126 the encoding unit 213 sets an encoding parameter using the position information extracted in step S122.
  • step S127 the encoding unit 213 uses the motion vector generated in step S125 and the encoding parameter set in step S126 to convert the captured image stored in step S124 into, for example, MPEG, AVC, Encoding is performed using a moving image encoding method such as HEVC to generate moving image encoded data.
  • a moving image encoding method such as HEVC
  • step S1208 the transmission unit 205 transmits the moving image encoded data generated in step S127 to the cloud 103.
  • the storage unit 206 may store the moving image encoded data generated in step S127.
  • step S128 When the process of step S128 is completed, the conversion and transfer process ends.
  • FIG. 9 is a block diagram illustrating a main configuration example of the moving image encoding unit 204 when a captured image is encoded by an encoding method compliant with HEVC.
  • the moving image encoding unit 204 includes a control unit 301, a rearrangement buffer 311, an operation unit 312, an orthogonal transform unit 313, a quantization unit 314, an encoding unit 315, an accumulation buffer 316, an inverse quantization unit 317, and an inverse unit.
  • An orthogonal transform unit 318, a calculation unit 319, an in-loop filter unit 320, a frame memory 321, a prediction unit 322, and a rate control unit 323 are included.
  • the frame memory 211 in FIG. 5 corresponds to the rearrangement buffer 311 in FIG. Further, the motion prediction unit 212 in FIG. 5 corresponds to the control unit 301 and the prediction unit 322 in FIG. 9. Also, the encoding unit 213 in FIG. 5 corresponds to each processing unit (the control unit 301 to the rate control unit 323) in FIG.
  • the control unit 301 performs processing related to encoding control by the moving image encoding unit 204. For example, the control unit 301 sets an encoding parameter to be supplied to each block (each processing unit) based on RDO (Rate-Distortion Optimization). In addition, the control unit 301 appropriately converts the set encoding parameter to each processing unit (for example, the rearrangement buffer 311, the orthogonal transform unit 313, the quantization unit 314, the encoding unit 315, and the inverse) The quantization unit 317, the inverse orthogonal transform unit 318, the in-loop filter unit 320, the prediction unit 322, and the like are supplied to control processing performed in each processing unit.
  • RDO Rate-Distortion Optimization
  • control unit 301 generates control information (eg, sequence parameter set, picture parameter set, slice header, etc.) including the encoding parameter, supplies the control information to the encoding unit 315, and includes the encoded information in the encoded data. Let it transmit.
  • control information eg, sequence parameter set, picture parameter set, slice header, etc.
  • control unit 301 controls the rearrangement of the frames of the moving image data held by the rearrangement buffer 311, or uses the rearrangement buffer 311 based on the block size of the processing unit designated externally or in advance.
  • the stored video data is divided into processing unit blocks (CU, PU, conversion block, etc.).
  • the rearrangement buffer 311 acquires and holds (stores) the input captured image as a frame image of the moving image.
  • the order of acquisition at that time is the playback order (display order).
  • the rearrangement buffer 311 rearranges each captured image (input image) in the encoding order (decoding order) or divides the block into processing units based on the control of the control unit 301.
  • the rearrangement buffer 311 supplies each processed captured image to the calculation unit 312.
  • the rearrangement buffer 311 also supplies each captured image (original image) to the prediction unit 322 and the in-loop filter unit 320.
  • the calculation unit 312 receives the captured image corresponding to the block of the processing unit and the predicted image corresponding to the block supplied from the prediction unit 322, and generates a prediction residual by subtracting the predicted image from the captured image. Then, it is supplied to the orthogonal transform unit 313.
  • the orthogonal transform unit 313 performs orthogonal transform on the prediction residual supplied from the calculation unit 312 based on the encoding parameter supplied from the control unit 301 to generate a transform coefficient.
  • the orthogonal transform unit 313 supplies the generated transform coefficient to the quantization unit 314.
  • the quantization unit 314 scales (quantizes) the transform coefficient supplied from the orthogonal transform unit 313 based on the transform information supplied from the control unit 301. Note that the quantization rate is controlled by the rate control unit 323.
  • the quantization unit 314 supplies the quantized transform coefficient (also referred to as a quantized transform coefficient) obtained by such quantization to the encoding unit 315 and the inverse quantization unit 317.
  • the encoding unit 315 performs variable-length encoding (for example, arithmetic encoding) on the quantized transform coefficient supplied from the quantization unit 314 to generate a bit string (encoded data). Also, the encoding unit 315 generates and encodes an encoding parameter from the quantized transform coefficient, and generates a bit string. Furthermore, the encoding unit 315 encodes information about the filter supplied from the in-loop filter unit 320, information about the optimal prediction mode supplied from the prediction unit 322, and the like, and generates a bit string. The encoding unit 315 encodes various encoding parameters supplied from the control unit 301 and generates a bit string. Furthermore, the encoding unit 315 multiplexes the bit strings of various information generated as described above to generate encoded data. The encoding unit 315 supplies the encoded data to the accumulation buffer 316.
  • variable-length encoding for example, arithmetic encoding
  • the accumulation buffer 316 temporarily holds the encoded data obtained by the encoding unit 315.
  • the accumulation buffer 316 outputs the held encoded data to the outside of the moving image encoding unit 204 (for example, the transmission unit 205 or the storage unit 206) as a bit stream, for example, at a predetermined timing.
  • the inverse quantization unit 317 scales (inversely quantizes) the value of the quantized transform coefficient supplied from the quantization unit 314 based on the encoding parameter supplied from the control unit 301.
  • This inverse quantization is an inverse process of the quantization performed in the quantization unit 314, and is the same process as the inverse quantization performed by the decoding-side inverse quantization unit (described later). That is, the description (to be described later) regarding the inverse quantization on the decoding side can be applied to the description of the inverse quantization unit 317.
  • the inverse quantization unit 317 supplies the transform coefficient obtained by such inverse quantization to the inverse orthogonal transform unit 318.
  • the inverse orthogonal transform unit 318 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 317 based on the encoding parameter supplied from the control unit 301 to generate a prediction residual.
  • the inverse orthogonal transform is an inverse process of the orthogonal transform performed in the orthogonal transform unit 313, and is the same process as the inverse orthogonal transform performed by the inverse orthogonal transform unit (described later) on the decoding side. That is, the description (to be described later) regarding the inverse orthogonal transform on the decoding side can be applied to the description of the inverse orthogonal transform unit 318.
  • the calculation unit 319 adds the prediction residual supplied from the inverse orthogonal transform unit 318 and the prediction image corresponding to the prediction residual supplied from the prediction unit 322 to generate a local decoded image.
  • the calculation unit 319 supplies the generated local decoded image to the in-loop filter unit 320 and the frame memory 321.
  • the in-loop filter unit 320 appropriately performs filtering on the local decoded image supplied from the calculation unit 319 based on the encoding parameter supplied from the control unit 301 or the like.
  • the filtering process performed by the in-loop filter unit 320 is arbitrary.
  • a deblocking filter (DBF (DeBlocking Filter)
  • an adaptive offset filter (SAO (Sample Adaptive Offset)), or the like may be performed.
  • a plurality of filter processes may be performed.
  • the in-loop filter unit 320 supplies the filtered local decoded image to the frame memory 321. For example, when transmitting information related to a filter such as a filter coefficient to the decoding side, the in-loop filter unit 320 supplies information related to the filter to the encoding unit 315.
  • the frame memory 321 holds (stores) the local decoded image supplied from the calculation unit 319 and the filtered local decoded image supplied from the in-loop filter unit 320. Also, the frame memory 321 reconstructs and holds a decoded image for each picture unit using the local decoded image (stores it in a buffer in the frame memory 321). The frame memory 321 supplies the decoded image (or part thereof) to the prediction unit 322 in response to a request from the prediction unit 322.
  • the prediction unit 322 performs prediction processing such as inter prediction and intra prediction using the encoding parameter supplied from the control unit 301 and the input image (original image) supplied from the rearrangement buffer 311, and refers to the decoded image. Prediction is performed with reference to an image, and motion compensation processing is performed based on the prediction result to generate a predicted image.
  • the prediction unit 322 supplies the generated predicted image to the calculation unit 312 and the calculation unit 319. Also, the prediction unit 322 supplies information related to the prediction mode selected by the above processing, that is, the optimal prediction mode, to the encoding unit 315 as necessary.
  • the rate control unit 323 controls the quantization operation rate of the quantization unit 314 based on the code amount of the encoded data stored in the storage buffer 316 so that overflow or underflow does not occur.
  • the control unit 301 acquires the position information supplied from the separation unit 202, and sets a motion vector and an encoding parameter based on the position information.
  • Each processing unit (the rearrangement buffer 311 to the rate control unit 323) of the moving image encoding unit 204 performs encoding using the motion vector and the encoding parameter set as described above. That is, the moving image encoding unit 204 encodes the captured image using the position information.
  • the moving picture encoding unit 204 can suppress a reduction in encoding efficiency as described above.
  • the rearrangement buffer 311 acquires and accumulates the image data of the captured image supplied from the decoding unit 203 in step S141.
  • step S142 the control unit 301 performs processing related to encoding control.
  • the control unit 301 performs control related to motion prediction and setting of encoding parameters based on the position information supplied from the separation unit 202.
  • step S143 the rearrangement buffer 311 is controlled by the control unit 301 to rearrange the order of the frames (captured image group) of the input moving image data from the display order to the encoding order.
  • step S144 the prediction unit 322 is controlled by the control unit 301 to perform prediction processing, and generate a prediction image or the like in the optimal prediction mode.
  • the prediction unit 322 performs intra prediction to generate a prediction image or the like of the optimal intra prediction mode, performs inter prediction to generate a prediction image or the like of the optimal inter prediction mode, and the like.
  • the optimum prediction mode is selected based on the cost function value.
  • the prediction unit 322 uses the reference frame or motion vector set by the control unit 301 in inter prediction.
  • step S145 the calculation unit 312 calculates the difference between the input image and the predicted image in the optimal mode selected by the prediction process in step S144. That is, the calculation unit 312 generates a prediction residual between the input image and the predicted image. The amount of data of the prediction residual obtained in this way is reduced compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S146 the orthogonal transform unit 313 performs orthogonal transform processing on the prediction residual generated by the processing in step S145, and generates a transform coefficient.
  • step S147 the quantization unit 314 quantizes the transform coefficient generated by the process in step S146 by using the encoding parameter set in step S142, and generates a quantized transform coefficient.
  • step S148 the inverse quantization unit 317 inversely quantizes the quantized transform coefficient generated by the process in step S147 with a characteristic corresponding to the quantization characteristic in step S147 to generate a transform coefficient.
  • step S149 the inverse orthogonal transform unit 318 performs inverse orthogonal transform on the transform coefficient generated by the process of step S148 by a method corresponding to the orthogonal transform process of step S146, and generates residual data.
  • step S150 the calculation unit 319 generates a decoded image that is locally decoded by adding the prediction image generated by the prediction process of step S144 to the prediction residual generated by the process of step S149. .
  • step S151 the in-loop filter unit 320 performs an in-loop filter process on the locally decoded decoded image generated by the process in step S150.
  • step S152 the frame memory 321 stores the locally decoded decoded image derived by the process of step S150 and the locally decoded decoded image filtered in step S151.
  • step S153 the encoding unit 315 encodes the quantized transform coefficient obtained by the process in step S147.
  • the encoding unit 315 encodes a quantized transform coefficient that is information related to an image by arithmetic encoding or the like, and generates encoded data.
  • the encoding unit 315 encodes various encoding parameters.
  • the encoding unit 315 generates an encoding parameter from the quantized transform coefficient and encodes it.
  • step S154 the accumulation buffer 316 accumulates the encoded data generated in this way, and outputs it as, for example, a bit stream to the outside of the moving image encoding unit 204 (the transmission unit 205 or the storage unit 206). .
  • step S154 When the process of step S154 is finished, the moving picture encoding process is finished.
  • the captured image can be encoded using the position information. Therefore, a reduction in encoding efficiency can be suppressed.
  • the moving image encoded data generated by the ground station 102 is transferred to the cloud 103 and decoded by the cloud 103.
  • the hardware configuration of the cloud 103 is arbitrary. For example, it may be configured by a single information processing apparatus or may be configured by a plurality of information processing apparatuses.
  • FIG. 11 is a block diagram illustrating a main configuration example when the cloud 103 is configured by, for example, one computer.
  • the cloud 103 includes a CPU 401, a ROM 402, a RAM 403, a bus 404, an input / output interface 410, an input unit 411, an output unit 412, a storage unit 413, a communication unit 414, and a drive 415.
  • the CPU 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404.
  • An input / output interface 410 is also connected to the bus 404.
  • An input unit 411, an output unit 412, a storage unit 413, a communication unit 414, and a drive 415 are connected to the input / output interface 410.
  • the input unit 411 includes an arbitrary input device that accepts external information such as user input.
  • the input unit 411 may include any one or more of an operation button, a touch panel, a camera, a microphone, and an input terminal.
  • the input unit 411 may include one or more arbitrary sensors such as an optical sensor and a temperature sensor.
  • the input unit 411 may include other input devices.
  • the output unit 412 includes an arbitrary output device that outputs information such as images and sounds.
  • the output unit 412 may include any one or more of a display, a speaker, and an output terminal.
  • the output unit 412 may include other output devices.
  • the storage unit 413 includes an arbitrary storage medium that stores information such as programs and data.
  • the storage unit 413 may include one or more of a hard disk, a RAM disk, and a nonvolatile memory.
  • the storage unit 413 may include other storage media.
  • the communication unit 414 includes an arbitrary communication device that performs communication for exchanging information such as programs and data with an external device via a predetermined communication medium (for example, an arbitrary network such as the Internet).
  • the communication unit 414 may be configured by an arbitrary network interface, for example.
  • the communication unit 414 communicates (transfers programs and data) with other devices.
  • the communication unit 414 may have a wired communication function, a wireless communication function, or both.
  • the drive 415 reads information stored in the removable medium 421 attached to the drive 415, and writes information to the removable medium 421 attached to the drive 415.
  • the drive 415 can read information from the removable medium 421 and supply the read information to the CPU 401, the RAM 403, and the like.
  • information (program, data, etc.) supplied from the CPU 401, the RAM 403, or the like can be stored in the removable medium 421.
  • the removable medium 421 is a recording medium that can be attached to and detached from the drive 415.
  • it may be a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 401 performs various processes by loading a program stored in the ROM 402 or the storage unit 413 into the RAM 403 and executing the program, for example.
  • the RAM 403 also appropriately stores data necessary for the CPU 401 to execute various processes.
  • the CPU 401 can perform processing related to decoding of moving image encoded data by executing the program and the like in this way.
  • a moving image decoding unit 500 shown in FIG. 12 is a processing unit that decodes the moving image encoded data generated by the moving image encoding unit 204 in FIG. 9, and the encoding method of the moving image encoding unit 204 in FIG. That is, the moving image encoded data is decoded by a decoding method corresponding to an encoding method compliant with HEVC.
  • the moving picture decoding unit 500 includes an accumulation buffer 511, a decoding unit 512, an inverse quantization unit 513, an inverse orthogonal transform unit 514, an operation unit 515, an in-loop filter unit 516, a rearrangement buffer 517, a frame memory 518, And a prediction unit 519.
  • the prediction unit 519 includes an intra prediction unit (not shown) and an inter prediction unit.
  • the accumulation buffer 511 acquires and holds (stores) the bit stream (moving image encoded data) input to the moving image decoding unit 500.
  • the accumulation buffer 511 supplies the accumulated bit stream to the decoding unit 512 at a predetermined timing or when a predetermined condition is satisfied.
  • the decoding unit 512 performs variable-length decoding on the syntax value of each syntax element included in the bit stream supplied from the accumulation buffer 511 in accordance with the definition of the syntax table, parses it (analyzes and acquires it). And generate decryption parameters.
  • the decoding unit 512 appropriately supplies the generated decoding parameters to each processing unit (for example, the inverse quantization unit 513, the inverse orthogonal transform unit 514, the in-loop filter unit 516, the prediction unit 519, etc.) of the video decoding unit 500. To do.
  • the decoding unit 512 decodes the moving image encoded data to generate a quantized transform coefficient for each transform block.
  • the decoding unit 512 supplies the quantized transform coefficient to the inverse quantization unit 513.
  • the inverse quantization unit 513 scales (inverse quantization) the value of the quantized transform coefficient supplied from the decoding unit 512 based on the decoding parameter supplied from the decoding unit 512, and converts the transformed transform coefficient after the inverse quantization. Generate.
  • This inverse quantization is performed as an inverse process of quantization by the quantization unit 314. That is, this inverse quantization is a process similar to the inverse quantization by the inverse quantization unit 317.
  • the inverse quantization unit 513 supplies the generated transform coefficient to the inverse orthogonal transform unit 514.
  • the inverse orthogonal transform unit 514 performs an inverse orthogonal transform process on the transform coefficient supplied from the inverse quantization unit 513 based on the decoding parameter supplied from the decoding unit 512 to generate residual data.
  • This inverse orthogonal transform is performed as an inverse process of the orthogonal transform by the orthogonal transform unit 313. That is, this inverse orthogonal transform is a process similar to the inverse orthogonal transform performed by the inverse orthogonal transform unit 318.
  • the inverse orthogonal transform unit 514 supplies the generated residual data to the calculation unit 515.
  • the calculation unit 515 adds the residual data supplied from the inverse orthogonal transform unit 514 and the prediction image supplied from the prediction unit 519 to generate a locally decoded image.
  • the calculation unit 515 supplies the generated locally decoded image to the in-loop filter unit 516 and the frame memory 518.
  • the in-loop filter unit 516 appropriately performs a filtering process on the local decoded image supplied from the calculation unit 515 based on the decoding parameter supplied from the decoding unit 512.
  • the filtering process performed by the in-loop filter unit 516 is arbitrary.
  • a deblocking filter (DBF (DeBlocking Filter)
  • an adaptive offset filter (SAO (Sample Adaptive Offset)), or the like may be performed.
  • a plurality of filter processes may be performed.
  • the in-loop filter unit 516 supplies the filtered local decoded image to the rearrangement buffer 517 and the frame memory 518.
  • the rearrangement buffer 517 holds (stores) the locally decoded image supplied from the in-loop filter unit 516.
  • the rearrangement buffer 517 reconstructs and holds the decoded image for each picture unit using the local decoded image (stores it in the buffer).
  • the rearrangement buffer 517 rearranges the obtained decoded images from the decoding order to the reproduction order.
  • the rearrangement buffer 517 outputs the rearranged decoded image group to the outside of the moving image decoding unit 500 as moving image data.
  • the frame memory 518 reconstructs a decoded image for each picture unit from the local decoded image supplied from the calculation unit 515 and stores it in a buffer in the frame memory 518. Further, the frame memory 518 reconstructs a decoded image for each picture unit from the local decoded image subjected to the in-loop filter process supplied from the in-loop filter unit 516 and stores the decoded image in a buffer in the frame memory 518.
  • the frame memory 518 supplies the stored decoded image (or part thereof) to the prediction unit 519 as a reference image as appropriate. Note that the frame memory 518 may store the decoding parameters for generating the decoded image.
  • the prediction unit 519 performs prediction using a prediction method specified by the decoding parameter supplied from the decoding unit 512, and generates a predicted image. At that time, the prediction unit 519 uses the decoded image (or part thereof) before or after filtering stored in the frame memory 518 specified by the decoding parameter as a reference image. The prediction unit 519 supplies the generated predicted image to the calculation unit 515.
  • the decoding unit 512 extracts decoding parameters (encoding parameters) transmitted from the encoding side, and decodes moving image encoded data using the decoding parameters. Further, the decoding unit 512 supplies the decoding parameters to other processing units (for example, an inverse quantization unit 513, an inverse orthogonal transform unit 514, an in-loop filter unit 516, a prediction unit 519, etc.), and these processing units are Each process is performed using the decoding parameter. That is, the moving image decoding unit 500 performs decoding using the decoding parameters. That is, the moving image decoding unit 500 can correctly decode the captured image group encoded based on the position information. Therefore, a reduction in encoding efficiency can be suppressed.
  • decoding parameters encoding parameters
  • other processing units for example, an inverse quantization unit 513, an inverse orthogonal transform unit 514, an in-loop filter unit 516, a prediction unit 519, etc.
  • the accumulation buffer 511 acquires and stores (accumulates) moving image encoded data (bitstream) supplied from the outside of the moving image decoding unit 500 in step S171.
  • step S172 the decoding unit 512 decodes the moving image encoded data (bit stream) to generate a quantized transform coefficient. Also, the decoding unit 512 parses (analyzes and acquires) various decoding parameters (encoding parameters) from the encoded data (bitstream) by this decoding.
  • step S173 the inverse quantization unit 513 performs inverse quantization, which is the inverse process of quantization performed on the encoding side, on the quantized transform coefficient generated by the process in step S172, and converts the transform coefficient to Generate.
  • step S174 the inverse orthogonal transform unit 514 performs an inverse orthogonal transform process, which is an inverse process of the orthogonal transform process performed on the encoding side, on the transform coefficient generated by the process of step S173, and residual data Is generated.
  • an inverse orthogonal transform process which is an inverse process of the orthogonal transform process performed on the encoding side, on the transform coefficient generated by the process of step S173, and residual data Is generated.
  • step S175 the prediction unit 519 executes a prediction process using a prediction method designated by the encoding side based on the decoding parameter parsed in step S172, and generates a predicted image.
  • step S176 the calculation unit 515 adds the residual data generated by the process of step S174 and the predicted image generated by the process of step S175 to generate a local decoded image.
  • step S177 the in-loop filter unit 516 performs an in-loop filter process on the locally decoded image generated by the process in step S176.
  • step S178 the rearrangement buffer 517 generates a decoded image using the local decoded image filtered by the processing in step S177, and rearranges the order of the decoded image group from the decoding order to the reproduction order.
  • the decoded image group rearranged in the reproduction order is output to the outside of the moving image decoding unit 500 as a moving image.
  • step S179 the frame memory 518 stores at least one of the local decoded image generated by the process of step S176 and the local decoded image filtered by the process of step S177.
  • step S179 When the process of step S179 is finished, the image decoding process is finished.
  • the moving image decoding unit 500 can suppress a reduction in encoding efficiency.
  • the present technology when a captured image is encoded using an encoding method compliant with HEVC, or encoded data generated by the encoding is used with a decoding method compliant with HEVC. This can also be applied to decoding.
  • the present technology can be basically applied to any other encoding / decoding method such as AVC or MPEG.
  • Method # 1-1 will be described. As described with reference to FIG. 1, when a captured image is encoded by a moving image encoding method, a reference frame may be set based on position information (method # 1-1). .
  • the flying object 101 images the subject area 110, generally, captured images closer in position have higher correlation. Therefore, when the moving image encoding unit 204 sets the imaging order of the captured images to the frame order (reproduction order), the captured images with far frame numbers may be close to each other and have high correlation.
  • imaging is performed while the flying object 101 moves as indicated by an arrow,..., Frame number 98 (frame 98) to frame number 101 (frame 101),.
  • frame images such as number 120 (frame 120), frame number 121 (frame 121), and so on are obtained.
  • the captured image with the frame number 121 is close in position to the captured image with the frame number 101 as well as the frame number 120 and has high correlation.
  • the moving image encoding unit 204 sets not only the frame number 120 but also the frame number 101 as a reference destination (reference frame). select.
  • the partial area indicated by the white background of the captured image of frame number 121 is an area that overlaps the captured image of frame number 120 and has a high correlation with the captured image of frame number 120. Therefore, this partial area is inter-coded using the frame number 120 as a reference frame.
  • the partial area on the left side of the dotted line of the captured image with the frame number 121 is an area overlapping with the captured image with the frame number 101, and is highly correlated with the captured image with the frame number 101.
  • a portion of the partial area that does not have the frame number 120 as the reference frame, that is, a partial area that is indicated by light gray in the captured image of the frame number 121 is inter-coded using the frame number 101 as the reference frame.
  • a partial region having a low correlation with these frames (a partial region indicated by dark gray in the figure) is subjected to intra coding.
  • the frame is set as a reference destination in order from the frame with the largest overlapping area with the current frame.
  • the frame is set as a reference destination in order from the frame with the largest overlapping area with the current frame.
  • the motion prediction unit 212 sets a reference frame based on the position information. For example, the motion prediction unit 212 performs reference frame selection processing when performing motion prediction in step S125 (FIG. 8), and sets a reference frame based on position information as described above.
  • step S202 the motion prediction unit 212 determines based on the position information whether there is an encoded frame in which the current frame and the captured image are superimposed. If it is determined that it exists, the process proceeds to step S203.
  • step S203 the motion prediction unit 212 selects an encoded frame having the largest area overlapping with the current frame as a reference destination.
  • step S204 the motion prediction unit 212 deletes the superimposed portion from the captured image of the current frame in order to set the next reference frame.
  • step S205 the motion prediction unit 212 determines whether or not the set number of reference frames has reached the maximum number.
  • the maximum value of the number of reference frames is arbitrary. For example, it may be two frames or any other number. If it is determined that the number of reference frames has not reached the maximum value, the process returns to step S202.
  • step S202 When there is an encoded frame to be superimposed on the current frame, the processes from step S202 to step S205 are repeated until the number of reference frames reaches the maximum value. If it is determined in step S205 that the number of reference frames has reached the maximum value, the reference frame selection process ends.
  • step S202 If it is determined in step S202 that there is no encoded frame to be superimposed on the current frame, the reference frame selection process ends.
  • the partial region of the current frame in which the reference frame is set as described above is inter-coded using the reference frame.
  • intra coding is performed on a partial area of the current frame where no reference frame is set.
  • the moving image encoding unit 204 can set an encoded frame with higher correlation as a reference destination based on the position information, and the encoding efficiency can be improved. Reduction can be suppressed.
  • control unit 301 performs the above-described reference frame selection process in step S142, and sets the reference frames in descending order of the overlapping area with the current frame based on the position information.
  • the prediction unit 322 performs inter prediction or intra prediction using the reference frame set as described above. Therefore, also in this case, it is possible to suppress a reduction in encoding efficiency.
  • Method # 1-2 will be described. As described with reference to FIG. 1, when a captured image is encoded by a moving image encoding method, a motion vector may be calculated based on position information (method # 1-2). .
  • the motion vector can be calculated more efficiently by calculating the motion vector in consideration of the position information (movement amount of the flying object). For example, if the motion vector is large, the search range becomes large and the ME requires a calculation cost. However, if there is an approximate value, the search range can be reduced. In addition, vector fluctuation (variation) can be reduced. Therefore, an approximate value of the motion vector is obtained using the position information.
  • ⁇ Method not using pseudo height information> For example, as illustrated in FIG. 17, it is assumed that a three-dimensional structure such as a tree 631 and a tree 632 exists on the ground 630. If the height of these trees is not taken into consideration, the flying object will use past location information (GPS information, IMU information, imaging control information, etc.) and current location information (GPS information, IMU information, imaging control information, etc.). The amount of movement 101 can be calculated. A motion vector (fixed part) is obtained from the amount of movement and refined around the candidate to obtain a motion vector more efficiently.
  • the motion prediction unit 212 calculates the motion vector based on the position information in this way. For example, the motion prediction unit 212 performs motion vector calculation processing when performing motion prediction in step S125 (FIG. 8), and calculates a motion vector based on position information as described above.
  • step S222 the motion prediction unit 212 obtains a motion vector candidate (approximate value) based on the movement amount.
  • step S223 the motion prediction unit 212 performs refinement by block matching around the motion vector candidates, and sets a motion vector.
  • step S223 ends, the motion vector calculation process ends.
  • the moving image encoding unit 204 can calculate the motion vector more efficiently based on the position information, and increases the encoding load and the encoding efficiency. Can be suppressed.
  • control unit 301 performs the above-described motion vector calculation processing (FIG. 18) in steps S221 and S222 in step S142, and the prediction unit 322 in step S144.
  • the process of step S223 of the above-described motion vector calculation process (FIG. 18) is performed. Accordingly, in this case as well, an increase in encoding load and a decrease in encoding efficiency can be suppressed.
  • ⁇ Method using pseudo height information> For example, in the example of FIG. 17, when considering the height of the tree 631 or the tree 632, a component (proportional part) other than the motion vector (fixed part) can be calculated from a plurality of past frames. Since this proportional component represents pseudo height information, the current proportional component is calculated using this, and an approximate value of the motion vector is obtained by adding it to the fixed component, and refined around it. Thus, the motion vector can be obtained more efficiently.
  • the motion prediction unit 212 calculates the motion vector based on the position information in this way. For example, the motion prediction unit 212 performs motion vector calculation processing when performing motion prediction in step S125 (FIG. 8), and calculates a motion vector based on position information as described above.
  • ⁇ Flow of motion vector calculation process> An example of the flow of the motion vector calculation process will be described with reference to the flowchart of FIG.
  • the motion prediction unit 212 obtains the movement amount (fixed amount) of the flying object 101 from the position information and the past motion prediction result in step S241.
  • step S242 the motion prediction unit 212 acquires a coefficient of the corresponding pseudo height information (proportional part) based on the movement amount.
  • step S243 the motion prediction unit 212 obtains a motion vector candidate (approximate value) based on the movement amount (fixed amount) and the pseudo height information (proportional amount).
  • step S244 the motion prediction unit 212 performs refinement by block matching around the motion vector candidates, and sets a motion vector.
  • step S244 ends, the motion vector calculation process ends.
  • the moving image encoding unit 204 can calculate the motion vector more efficiently based on the position information, and increases the encoding load and the encoding efficiency. Can be suppressed.
  • control unit 301 performs the above-described motion vector calculation processing (FIG. 19) in steps S241 to S243 in step S142, and the prediction unit 322 in step S144.
  • the process of step S244 of the above-described motion vector calculation process (FIG. 19) is performed. Accordingly, in this case as well, an increase in encoding load and a decrease in encoding efficiency can be suppressed.
  • an encoding parameter used for encoding may be obtained based on position information.
  • the GOP structure may be set based on the position information.
  • the flying object 101 since the flying object 101 performs imaging while moving, the correlation between the captured images depends on the movement of the flying object (including the movement of the camera and the like). That is, an appropriate GOP structure may change according to the movement (movement amount) of the flying object 101.
  • a GOP structure using only forward prediction as shown in FIG. 20B is applied.
  • Such a GOP structure is simpler than the GOP structure of the example of FIG. 20A and can suppress an increase in the load of the encoding process.
  • the encoding unit 213 sets the GOP structure based on the position information. For example, the encoding unit 213 performs the GOP structure setting process when setting the encoding parameter in step S126 (FIG. 8), and sets the GOP structure based on the position information as described above.
  • ⁇ GOP structure setting process flow> An example of the flow of the GOP structure setting process will be described with reference to the flowchart of FIG.
  • the encoding unit 213 calculates the movement amount of the flying object 101 based on the position information and the motion prediction result in step S261.
  • step S262 the encoding unit 213 determines whether the movement amount is equal to or less than a predetermined threshold value. When it is determined that the moving amount of the flying object 101 is equal to or less than the threshold value, the process proceeds to step S263.
  • step S263 the encoding unit 213 sets the parameter M indicating the repetition period (interval) of the P picture or I picture to 3. That is, the encoding unit 213 selects a GOP structure using forward prediction and backward prediction as in the example of A of FIG.
  • the GOP structure setting process ends.
  • step S262 If it is determined in step S262 that the moving amount of the flying object 101 is greater than the predetermined threshold, the process proceeds to step S264.
  • step S264 the encoding unit 213 sets the parameter M to 1. That is, the encoding unit 213 selects a GOP structure that uses only forward prediction as in the example of B in FIG. When the process of step S264 ends, the GOP structure setting process ends.
  • the moving picture coding unit 204 can select a more appropriate GOP structure based on the position information, and can suppress a reduction in coding efficiency, An increase in the load of the conversion process can be suppressed.
  • control unit 301 performs the process of each step of the above-described GOP structure setting process (FIG. 21) in step S142. Therefore, in this case as well, it is possible to suppress a reduction in encoding efficiency and to suppress an increase in encoding processing load.
  • Rate control may be performed based on position information (method # 1-4).
  • the amount of code is estimated using position information, and encoding is performed using encoding parameters set according to the estimation (pseudo two-pass rate control is performed).
  • the movement amount of the flying object 101 is calculated using the position information, and the movement amount is reflected on the complexity.
  • the quantization step is set based on the complexity so that the total code amount becomes a desired value.
  • encoding is performed using the quantization step.
  • a quantization step for quantization performed in moving image coding is set based on the position information, and pseudo 2 is performed using the set quantization step again.
  • pseudo two-pass rate control when such pseudo two-pass rate control is not performed, each process is performed as shown in FIG.
  • pseudo two-pass rate control is performed in the hatched portion shown in B of FIG.
  • the encoding unit 213 performs pseudo two-pass rate control based on the position information. For example, the encoding unit 213 performs pseudo two-pass rate control processing and encoding control processing when setting the encoding parameters in step S126 (FIG. 8), and performs rate control based on the position information as described above. .
  • step S282 the encoding unit 213 estimates the movement amount of the flying object 101 based on the position information, and reflects it in the complexity of each frame.
  • step S283 the encoding unit 213 calculates a quantization step such that the total code amount becomes a desired value based on the complexity.
  • step S283 ends, the pseudo two-pass rate control process ends.
  • step S302 the encoding unit 213 corrects the quantization step according to the difference between the actual code amount up to the frame immediately before the current frame and the predicted code amount.
  • step S303 the encoding unit 213 encodes the current frame using the corrected quantization step.
  • step S304 the encoding unit 213 determines whether or not all the frames of the processing target moving image have been processed. If it is determined that there is an unprocessed frame, the process returns to step S301.
  • steps S301 to S304 are repeated until all frames are processed. If it is determined in step S304 that all frames have been processed, the encoding control process ends.
  • the moving image encoding unit 204 can realize pseudo two-pass rate control based on the position information, and can improve encoding efficiency.
  • the control unit 301 performs the process of each step of the pseudo two-pass rate control process and the processes of step S301, step S302, and step S304 of the encoding control process.
  • the rearrangement buffer 311 through the rate control unit 323 perform the process of step S303 as the moving image encoding process. Accordingly, in this case as well, pseudo two-pass rate control can be realized based on the position information, and a reduction in encoding efficiency can be suppressed.
  • Method # 1-5 will be described. As described with reference to FIG. 1, a picked-up image (frame) may be selected based on position information (method # 1-5).
  • the movement of the flying object is not stable, and an unintended imaging range may be imaged due to external factors such as wind.
  • an unintended imaging range may be imaged due to external factors such as wind.
  • the captured image (gray) with frame number 100 frame 100
  • position information of other frame images captured. It is very different from the position information of (image).
  • the GPS information, IMU information, and imaging control information (camera angle) of this position information are expressed using z, and the GPS information, IMU information, and imaging control information (position information of other captured images) (The fact that the camera angle is expressed using x indicates that the position information of frame number 100 is significantly different from the position information of other frames (x and z do not indicate specific values). Absent).
  • Such a captured image in an unintended range has no utility value and is likely to be unnecessary.
  • a captured image may be deleted (for example, 3D map information can be generated without inconvenience). Therefore, whether or not the image is an unnecessary captured image is determined based on position information (that is, an imaging range), and the unnecessary captured image is deleted and encoded. For example, in the case of FIG. 26, the captured image of frame number 100 is deleted.
  • the encoding unit 213 selects such a frame image. For example, the encoding unit 213 performs frame selection processing on the captured image group stored in the frame memory 211 in step S124 (FIG. 8), and performs frame selection based on the position information as described above.
  • step S322 the encoding unit 213 determines whether or not the movement amount is larger than a predetermined threshold value. When it is determined that the movement amount is larger than the predetermined threshold, the encoding unit 213 deletes the captured image of the current frame (excludes it from the encoding target).
  • step S323 ends, the process proceeds to step S324. If it is determined in step S322 that the movement amount is equal to or smaller than the predetermined threshold, the process in step S323 is omitted (without deleting the captured image of the current frame), and the process proceeds to step S324.
  • step S324 the encoding unit 213 determines whether or not all frames of the moving image to be encoded have been processed. If it is determined that there is an unprocessed frame in the moving image, the process returns to step S321. That is, the processes in steps S321 to S324 are repeatedly executed until all frames are processed. If it is determined in step S324 that all the frames have been processed, the frame selection process ends.
  • control unit 301 performs each step of the frame selection process in step S142. Therefore, also in this case, an unnecessary captured image can be deleted based on the position information, and a reduction in encoding efficiency can be suppressed.
  • the position information may be added (associated) as the user data to the moving image encoded data (method # 1-6).
  • the position information can be used when processing the captured image restored by decoding the moving image encoded data. For example, when generating map information, position information of each captured image can be used, and processing can be performed more efficiently.
  • the encoding unit 213 adds the position information as user data to the moving image encoded data.
  • the encoding unit 213 performs user data processing in step S127 (FIG. 8), and adds (associates) position information to the moving image encoded data.
  • the encoding unit 213 When the user data processing is started, the encoding unit 213 generates user data including position information (for example, SEI (Supplemental Enhancement Information)) in step S341.
  • position information for example, SEI (Supplemental Enhancement Information)
  • step S342 the encoding unit 213 includes the generated user data in the moving image encoded data.
  • the user data process ends.
  • the position information can be used when processing the captured image restored by decoding the moving image encoded data.
  • control unit 301 performs the process of step S341 of the user data process in step S142.
  • the encoding unit 315 performs the process of step S342 of the user data process. Therefore, also in this case, the position information can be added to the moving image encoded data, and the position information can be used when processing the captured image restored by decoding the moving image encoded data.
  • the captured images generated in each of the plurality of moving objects are rearranged based on the position information, and the rearranged captured image group is one moving image.
  • the moving image encoded data may be generated by encoding using a moving image encoding method (method # 2). By doing in this way, since the produced flying object 101 can refer to a different captured image, the encoding efficiency can be further improved.
  • the image processing system 100 in this case includes two flying bodies 101 (a flying body 101-1 and a flying body 101-2).
  • the subject area 110 is imaged by the flying object 101-1 and the flying object 101-2.
  • the flying object 101-1 performs imaging while flying as indicated by a thick arrow in FIG. 30,..., A-frame 98 to A-frame 101,..., A-frame 120 to A-frame 123,.
  • Each captured image is generated as follows.
  • the flying object 101-2 performs imaging while flying as indicated by the thin line arrows in FIG. 30, and B-frame98 to B-frame101,..., B-frame120 to B-frame123,.
  • Each captured image is generated as follows.
  • a sequence of captured images captured by the flying object 101-1 and a sequence of captured images captured by the flying object 101-2 are alternately arranged. Therefore, there is a combination in which the positions of the captured image captured by the flying object 101-1 and the captured image captured by the flying object 101-2 are close to each other. That is, there are combinations with high correlation. Therefore, by encoding the captured images captured by both aircrafts 101 as a single moving image, encoding can be performed using such correlation, so that each aircraft 101 is generated. The reduction in encoding efficiency can be suppressed as compared with the case where each captured image is encoded.
  • imaging is performed with one flying object 101 and processing time is required as shown in FIG. 32A
  • processing time can be halved. Therefore, even if the process of combining the captured images captured by both aircrafts 101 into a single moving image based on the position information as shown by the dotted line in the figure, the processing time is longer than in the case of A in FIG. Can be shortened. Therefore, generation, provision, and use of 3D map information can be performed more quickly.
  • the ground station 102 executes each process of step S401 to step S404 for each aircraft 101 in the same manner as each process of step S121 to step S124.
  • step S405 the ground station 102 determines whether or not these processes have been performed for all the flying objects 101. If there is an unprocessed flying object 101, the process returns to step S401. That is, each process of step S401 to step S405 is executed for each flying object 101. If it is determined in step S405 that the process has been performed for all flying objects, the process proceeds to step S406.
  • step S406 the encoding unit 213 rearranges the captured images generated in each flying object 101 stored in the frame memory 211 using the position information to form one moving image.
  • step S407 to step S410 is performed on the single moving image generated in step S406 in the same manner as each process of step S125 to step S128.
  • step S410 ends, the conversion transfer process ends.
  • control unit 301 performs each process of steps S406 to S408 of the conversion / transfer process in step S142 of the moving image encoding process of FIG.
  • steps S406 to S408 of the conversion / transfer process in step S142 of the moving image encoding process of FIG. As the process of step S143 to step S154 of the moving image encoding process of FIG. Therefore, also in this case, it is possible to suppress a reduction in encoding efficiency.
  • the number of flying bodies 101 is arbitrary.
  • the number of flying bodies 101 may be three or more, or one.
  • the flight path may be complicated, or the imaging order may not be the order along the flight path.
  • by rearranging the order of the captured images based on the position information it is possible to set the captured images having high correlation to frames having a close order, and to suppress a reduction in encoding efficiency.
  • the encoding unit 213 rearranges the plurality of captured images based on the position information regardless of which flying object 101 generates which captured image, and codes the rearranged captured images as moving images. You may make it make it. By doing so, it is possible to suppress a reduction in encoding efficiency.
  • method # 3 will be described. As described with reference to FIG. 1, it may be possible to select whether the encoded data is transmitted or recorded in the mobile body (method # 3). In this way, it is possible to select whether to record or transmit still image encoded data (how to transmit a captured image as the entire system), and a more appropriate method depending on the situation. The captured image can be transmitted.
  • the flying object 101 determines whether to transmit the captured image (still image encoded data) to the cloud 103 or to store it in the storage unit 158 and then to the ground station 102. To be able to choose according to.
  • FIG. 35 shows a main configuration example of the flying object 101 in that case.
  • the flying object 101 in this case also has basically the same configuration as in the case of the first embodiment (FIG. 3).
  • the flying object 101 in this case further includes a selection unit 811 and a transmission unit 812.
  • the information addition unit 157 supplies the generated image file to the selection unit 811.
  • the selection unit 811 selects whether to supply the image file to the storage unit 158 or the transmission unit 812 based on arbitrary information or an arbitrary instruction or control. For example, the selection unit 811 performs this selection according to the communication environment. For example, when the communication band is sufficiently wide, the selection unit 811 supplies the image file to the transmission unit 812.
  • the transmission unit 812 has an arbitrary network interface, and transmits the image file supplied from the selection unit 811 to the cloud 103 via the network interface.
  • the selection unit 811 supplies the image file to the storage unit 158.
  • the captured image (still image encoded data) is stored in the storage unit 158 and transmitted to the ground station 102 as in the first embodiment.
  • the image processing system 100 can transmit a captured image by a more appropriate method depending on the situation.
  • step S501 to step S505 is executed in the same manner as each process from step S101 to step S105 (FIG. 7).
  • step S506 the selection unit 811 determines whether the image file can be transmitted based on the communication environment (communication bandwidth) or the like. If it is determined that transmission is possible, the process proceeds to step S507.
  • step S507 the transmission unit 812 transmits the image file to the cloud 103, for example.
  • the imaging process ends. In this case, the conversion transfer process by the ground station 102 is omitted.
  • step S506 If it is determined in step S506 that transmission is not possible, the process proceeds to step S508.
  • step S508 the storage unit 158 stores the image file.
  • the imaging process ends.
  • the ground station 102 performs conversion and transfer processing as described in the first embodiment.
  • the flying object 101 can transmit the captured image by a more appropriate method according to the situation.
  • the flying object 101 (moving object) encodes the captured image by the encoding method for still images, and the ground station 102 transcodes the encoded still image data to the encoded moving image data (for moving images).
  • the encoding method applied to the flying object 101 and the ground station 102 is arbitrary, and is not limited to this example.
  • the flying object 101 encodes the captured image with a moving image encoding method to generate moving image encoded data, and the ground station 102 transcodes it into another moving image encoding method. May be.
  • the moving picture encoded data generated by the ground station 102 transcoding the still picture encoded data is transcoded again and converted into the moving picture encoded data of another moving picture encoding method. Also good. Further, for example, the ground station 102 may transcode the still image encoded data generated by the flying object 101 and convert it to still image encoded data of another still image encoding method.
  • the encoding method of the encoded data transcoded by the ground station 102 is arbitrary, and may be an encoding method for still images, or for moving images.
  • the encoding method may be used.
  • the encoding method of the encoded data to be decoded by the decoding unit 203 is arbitrary, and may be a still image encoding method or a moving image encoding method.
  • the decoding method of decoding performed by the decoding unit 203 is arbitrary, and may be a still image decoding method or a moving image decoding method.
  • the encoding method of encoded data (encoded data output from the ground station 102) generated by transcoding the ground station 102 is arbitrary, and may be an encoding method for still images, An encoding method for moving images may be used.
  • the encoding method of the encoded data generated by encoding by the moving image encoding unit 204 (encoding unit 213) (that is, encoding performed by the moving image encoding unit 204 (encoding unit 213))
  • the method is arbitrary and may be a still image encoding method or a moving image encoding method.
  • the ground station 102 performs transcoding and converts the encoding method.
  • this transcode converts some parameters by decoding and re-encoding encoded data. Any thing can be used.
  • the ground station 102 may change the rate by decoding and re-encoding the encoded data (translate as a transcode).
  • the decoding / encoding in transcoding performed by the ground station 102 only needs to be performed for the conversion of desired items such as the system and parameters, and the image data may not be completely restored.
  • the ground station 102 decodes the encoded data only (performs only a part of the decoding process including a plurality of processes) to restore coefficient data such as orthogonal transform coefficients,
  • the coefficient data may be re-encoded (only a part of the encoding process including a plurality of processes is performed) to generate encoded data.
  • ⁇ Computer> The series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 37 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 914 includes a network interface, for example.
  • the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the program, for example. Is performed.
  • the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to, for example, a removable medium 921 as a package medium or the like.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by attaching the removable medium 921 to the drive 915.
  • This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in the ROM 902 or the storage unit 913 in advance.
  • the present technology can be applied to any image encoding / decoding method. That is, unless there is a contradiction with the present technology described above, the specifications of various processes relating to image encoding / decoding are arbitrary and are not limited to the above-described examples.
  • the present technology provides any configuration that can be installed in an arbitrary device or a device that constitutes a system, for example, a processor (eg, a video processor) as a system LSI (Large Scale Integration), a module that uses a plurality of processors, etc. (eg, a video module) It can also be implemented as a unit using a plurality of modules (for example, a video unit), a set in which other functions are added to the unit (for example, a video set), or the like (that is, a partial configuration of the apparatus).
  • a processor eg, a video processor
  • LSI Large Scale Integration
  • a module that uses a plurality of processors, etc. eg, a video module
  • It can also be implemented as a unit using a plurality of modules (for example, a video unit), a set in which other functions are added to the unit (for example, a video set), or the like (that is, a partial configuration of the apparatus).
  • the present technology can also be applied to a network system including a plurality of devices.
  • a network system including a plurality of devices.
  • it can also be applied to cloud services that provide services related to images (moving images) to arbitrary terminals such as computers, AV (Audio Visual) devices, portable information processing terminals, IoT (Internet of Things) devices, etc. it can.
  • “flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more Information that can identify the state is also included. Therefore, the value that can be taken by the “flag” may be, for example, a binary value of 1/0, or may be three or more values. That is, the number of bits constituting this “flag” is arbitrary, and may be 1 bit or a plurality of bits.
  • the identification information includes not only the form in which the identification information is included in the bitstream but also the form in which the difference information of the identification information with respect to certain reference information is included in the bitstream.
  • the “flag” and “identification information” include not only the information but also difference information with respect to the reference information.
  • various information (metadata, etc.) related to the encoded data may be transmitted or recorded in any form as long as it is associated with the encoded data.
  • the term “associate” means, for example, that one data can be used (linked) when one data is processed. That is, the data associated with each other may be collected as one data, or may be individual data. For example, information associated with encoded data (image) may be transmitted on a different transmission path from the encoded data (image). Further, for example, information associated with encoded data (image) may be recorded on a recording medium different from the encoded data (image) (or another recording area of the same recording medium). Good.
  • the “association” may be a part of the data, not the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • the present technology may be applied to any configuration that constitutes an apparatus or a system, such as a processor as a system LSI (Large Scale Integration), a module using a plurality of processors, a unit using a plurality of modules, and the unit. It can also be implemented as a set to which other functions are added (that is, a partial configuration of the apparatus).
  • a processor as a system LSI (Large Scale Integration)
  • a module using a plurality of processors a unit using a plurality of modules
  • the unit such as a set to which other functions are added (that is, a partial configuration of the apparatus).
  • the system means a set of a plurality of constituent elements (devices, modules (parts), etc.), and it does not matter whether all the constituent elements are in the same casing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
  • the present technology can take a configuration of cloud computing in which one function is shared and processed by a plurality of devices via a network.
  • the above-described program can be executed in an arbitrary device.
  • the device may have necessary functions (functional blocks and the like) so that necessary information can be obtained.
  • each step described in the above flowchart can be executed by one device or can be executed by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • a plurality of processes included in one step can be executed as a process of a plurality of steps.
  • the processing described as a plurality of steps can be collectively executed as one step.
  • the program executed by the computer may be executed in a time series in the order described in this specification for the processing of the steps describing the program, or in parallel or called. It may be executed individually at a necessary timing. That is, as long as no contradiction occurs, the processing of each step may be executed in an order different from the order described above. Furthermore, the processing of the steps describing this program may be executed in parallel with the processing of other programs, or may be executed in combination with the processing of other programs.
  • An image processing apparatus comprising: an encoding unit that encodes a captured image based on position information indicating a position where a moving body images a subject and generates the captured image.
  • the position information includes GPS (Global Positioning System) information indicating the position of the moving body, IMU (Inertial Measurement Unit) information indicating the movement of the moving body, and imaging control information indicating an imaging direction of the captured image.
  • the image processing apparatus according to (1) including at least one of the above.
  • the image processing device sets a GOP structure as the encoding parameter based on the position information.
  • the encoding unit sets, as the encoding parameter, a quantization step of quantization performed in the encoding of the moving image based on the position information. (7) or (8) Processing equipment.
  • the image processing device according to any one of (3) to (9), wherein the encoding unit selects a captured image to be encoded based on the position information.
  • the encoding unit encodes the captured image restored by the decoding unit, based on the position information, using another method different from the encoding method.
  • (13) In the encoded data the captured images are encoded one by one as a still image, The decoding unit decodes the encoded data of each of the plurality of captured images, The image processing device according to (12), wherein the encoding unit encodes the restored plurality of captured images as moving images.
  • the image processing device (14) The image processing device according to (13), wherein the position information is added to the encoded data in an Exif format.
  • the encoding unit rearranges the plurality of captured images based on the position information, and encodes the rearranged plurality of the captured images as a moving image. (3) to (14) The image processing apparatus described.
  • the image processing device (16) The image processing device according to (15), wherein the plurality of captured images are captured images generated by the plurality of moving bodies.
  • the image processing device according to any one of (1) to (16), further including: a transmission unit that transmits the encoded data generated by the encoding unit to another device.
  • An image processing apparatus including a transcoding unit that transcodes encoded data obtained by encoding a captured image captured by a moving body including an imaging unit based on position information indicating a position where the captured image is generated. .
  • the transcoding part is A decoding unit that decodes the encoded data to generate a decoded image;
  • the captured images are encoded one by one as a still image
  • the decoding unit generates the decoded image by decoding the encoded data of each of the plurality of captured images
  • the image processing device 22), wherein the encoding unit encodes the plurality of decoded images generated by the decoding unit as moving images.
  • the image processing device (22) or (23), wherein the encoding unit encodes a frame image of a moving image.
  • Processing equipment (31) The image processing device according to any one of (23) to (30), wherein the encoding unit selects a captured image to be encoded based on the position information.
  • the position information includes GPS (Global Positioning System) information indicating the position of the moving body, IMU (Inertial Measurement Unit) information indicating the movement of the moving body, and imaging control information indicating an imaging direction of the captured image.
  • GPS Global Positioning System
  • IMU Inertial Measurement Unit
  • imaging control information indicating an imaging direction of the captured image.
  • the image processing device according to any one of (21) to (32), wherein the encoded data and the position information are associated with each other. (34) The image processing device according to (33), wherein the position information is added to the encoded data in an Exif format. (35) The encoding unit rearranges the plurality of decoded images based on the position information, and encodes the rearranged plurality of decoded images as a moving image. (24) to (34) The image processing apparatus described. (36) The image processing device according to (35), wherein the plurality of captured images are captured images generated by the plurality of moving bodies.
  • the image processing device according to any one of (23) to (36), further including: a transmission unit that transmits the re-encoded data generated by the encoding unit to another device.
  • the image processing device according to any one of (21) to (37), wherein the moving body is a flying body.
  • the image processing device according to any one of (21) to (38), wherein the moving body is a car.
  • An image processing method for transcoding encoded data obtained by encoding a captured image captured by a moving body including an imaging unit based on position information indicating a position where the captured image is generated.
  • 100 image processing system 101 flying object, 102 ground station, 103 cloud, 104 terminal device, 110 subject area, 131 control unit, 151 flight unit, 152 IMU unit, 153 GPS unit, 154 imaging control unit, 155 imaging unit, 156 Encoding unit, 157 information addition unit, 158 storage unit, 159 transmission unit, 201 reception unit, 202 separation unit, 203 decoding unit, 204 moving image encoding unit, 205 transmission unit, 206 storage unit, 211 frame memory, 212 motion Prediction unit, 213 encoding unit, 301 control unit, 311 rearrangement buffer, 314 quantization unit, 315 encoding unit, 317 inverse quantization unit, 322 prediction unit, 811 selection unit, 812 transmission unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。 撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、その撮像画像を生成した位置を示す位置情報に基づいてトランスコードする。例えば、位置情報は、前記移動体の位置を示すGPS情報および前記移動体の動きを示すIMU情報の内、少なくともいずれか一方を含み、それらの情報に基づいて撮像画像を動画像のフレーム画像として符号化する。本開示は、例えば、画像処理装置、画像符号化装置、通信装置、情報処理装置、または撮像装置等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
 従来、飛行体にカメラを設け、その飛行体を飛行させながらそのカメラにより上空から地上等を撮像させるシステムがあった(例えば特許文献1参照)。撮像画像のデータはデータ量が大きく、一般的には、符号化されて記録されたり、伝送されたりする。
国際公開2016/069877号
 しかしながら、そのデータ量に対して常に記憶容量や通信帯域が十分に大きいとは限らない。また、より高解像度の撮像画像を利用しようとするとそのデータ量は増大する。したがって、符号化効率のさらなる向上が求められていた。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、前記撮像画像を生成した位置を示す位置情報に基づいてトランスコードするトランスコード部を備える画像処理装置である。
 本技術の一側面の画像処理方法は、撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、前記撮像画像を生成した位置を示す位置情報に基づいてトランスコードする画像処理方法である。
 本技術の一側面の画像処理装置においては、撮像部を備える移動体により撮像された撮像画像が符号化された符号化データが、その撮像画像を生成した位置を示す位置情報に基づいてトランスコードされる。
 本開示によれば、画像を処理することができる。特に、符号化効率の低減を抑制することができる。
本技術を適用した処理方法の一覧を示す図である。 本技術を適用したシステムの例を示す図である。 飛行体の主な構成例を示すブロック図である。 飛行体による撮像画像のファイル化の様子の例を示す図である。 地上局の主な構成例を示すブロック図である。 方法#1について説明する図である。 撮像処理の流れの例を示すフローチャートである。 変換転送処理の流れの例を示すフローチャートである。 動画像符号化部の主な構成例を示すブロック図である。 動画像符号化処理の流れの例を説明するフローチャートである。 クラウドを情報処理装置として表現する場合の主な構成例を示すブロック図である。 クラウドが実現する動画像符号化部の主な構成例を示すブロック図である。 動画像復号処理の流れの例を示すフローチャートである。 方法#1-1について説明する図である。 方法#1-1について説明する図である。 参照フレーム選択処理の流れの例を説明するフローチャートである。 方法#1-2について説明する図である。 動きベクトル算出処理の流れの例を説明するフローチャートである。 動きベクトル算出処理の流れの他の例を説明するフローチャートである。 方法#1-3について説明する図である。 GOP構造設定処理の流れの例を説明するフローチャートである。 方法#1-4について説明する図である。 方法#1-4について説明する図である。 疑似2パスレート制御処理の流れの例を説明するフローチャートである。 符号化制御処理の流れの例を説明するフローチャートである。 方法#1-5について説明する図である。 フレーム選択処理の流れの例を説明するフローチャートである。 ユーザデータ処理の流れの例を説明するフローチャートである。 本技術を適用したシステムの他の例を示す図である。 方法#2について説明する図である。 方法#2について説明する図である。 方法#2について説明する図である。 変換転送処理の流れの例を説明するフローチャートである。 本技術を適用したシステムのさらに他の例を示す図である。 飛行体の主な構成例を示すブロック図である。 撮像処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.飛行体からの撮像
2.共通コンセプト(各手法概要)
3.第1の実施の形態(方法#1詳細)
4.第2の実施の形態(方法#2詳細)
5.第3の実施の形態(方法#3詳細)
6.付記
 <1.飛行体からの撮像>
  <撮像画像の符号化>
 従来、例えば特許文献1に記載のように、飛行体にカメラを設け、その飛行体を飛行させながらそのカメラにより上空から地上等を撮像させるシステムがあった。例えば、このシステムを用いて、飛行体から地上等の所定の範囲を隙間なく撮像し、その撮像画像から地上等の3次元地図情報を生成することができる。このようなシステムで処理される撮像画像のデータはデータ量が大きいので、一般的に符号化されてデータ量が低減された状態で記録されたり、伝送されたりする。
 しかしながら、そのデータ量に対して常に記憶容量や通信帯域が十分に大きいとは限らない。また、より高解像度の撮像画像を利用しようとするとそのデータ量は増大する。したがって、符号化効率のさらなる向上が求められていた。
  <位置情報に基づく符号化>
 そこで、撮像画像を、移動体が被写体を撮像してその撮像画像を生成した位置を示す位置情報に基づいて符号化するようにする。
 例えば、画像処理装置において、撮像画像を、移動体が被写体を撮像してその撮像画像を生成した位置を示す位置情報に基づいて符号化する符号化部を備えるようにする。
 このようにすることにより、符号化効率の低減を抑制することができる。
 なお、この位置情報は、どのようなものであってもよく、例えば、移動体の位置に関する情報が含まれていてもよいし、移動体の動きに関する情報が含まれていてもよいし、撮像の制御情報が含まれていてもよい。また、この移動体の位置には、水平方向の位置だけでなく高さ方向の位置も含まれるようにしてもよい。また、この位置は、絶対位置(例えば緯度・経度のようなグローバルな座標)であってもよいし、何らかの基準に対する相対位置(例えば地上局を基準とする相対位置等)であってもよい。
 また、移動体は、どのようなものであってもよい。例えば、所謂ドローン、飛行機、気球のような飛行体であってもよいし、例えば自動車や自転車等のような車であってもよいし、船舶であってもよいし、例えば人や動物等の生物であってもよい。
  <位置情報に基づくトランスコード>
 また、撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、その撮像画像を生成した位置を示す位置情報に基づいてトランスコードするようにする。
 例えば、画像処理装置において、撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、その撮像画像を生成した位置を示す位置情報に基づいてトランスコードするトランスコード部を備えるようにする。
 このようにすることにより、符号化効率の低減を抑制することができる。なお、この位置情報は、どのようなものであってもよく、例えば、移動体の位置に関する情報が含まれていてもよいし、移動体の動きに関する情報が含まれていてもよいし、撮像の制御情報が含まれていてもよい。また、この移動体の位置には、水平方向の位置だけでなく高さ方向の位置も含まれるようにしてもよい。また、この位置は、絶対位置(例えば緯度・経度のようなグローバルな座標)であってもよいし、何らかの基準に対する相対位置(例えば地上局を基準とする相対位置等)であってもよい。
 <2.共通コンセプト>
  <各手法概要>
 このような符号化を利用して、例えば、図1の表に示されるような処理(方法#1乃至方法#3のいずれか)を行う。
 例えば方法#1では、位置情報を用いて静止画像用の符号化方式で符号化された静止画符号化データを、動画像用の符号化方式で符号化された動画符号化データに変換(以下においてはトランスコードとも称する)する。
 撮像を行う飛行体では、筐体サイズや重量の制限、バッテリ駆動による電力消費量の制限等から、一般的に、負荷の大きな動画像用の符号化を行うことは困難である。そこで、飛行体は、静止画で撮像を行い、その静止画像の撮像画像を静止画像用の符号化方式で符号化する。ただし、静止画像用の符号化は、動画像用の符号化に比べて符号化効率(圧縮率)が低い。
 また、3次元地図情報生成の為の撮像の場合、撮像範囲の多くが複数の撮像画像間で互いに重複するように撮像が行われる。つまり、飛行体において生成される撮像画像群には冗長な情報が多いが、静止画像用の符号化方式では、そのことを考慮せずに符号化を行う為、その分符号化効率が低減する。
 そこで、飛行体が、地上等を撮像して撮像画像を生成し、それを静止画像用の符号化方式で符号化して静止画符号化データを生成し、その静止画符号化データを記録するようにする。また、その際、飛行体が、撮像時の位置情報等をメタデータとして静止画符号化データに付加するようにする。
 そして、撮像終了後、飛行体から地上の中継局(以下、地上局とも称する)にその撮像画像群(静止画符号化データ群)を転送するようにする。そして、地上局が、その静止画符号化データ群を復号し、動画像用の符号化方式で再符号化するようにする。つまり、地上局が、撮像画像をトランスコードするようにする。その際、地上局が、各撮像画像に対応する位置情報等に基づいて、そのトランスコードを行って(動画像用の符号化方式で符号化して)動画符号化データを生成するようにする。
 このように動画符号化データを生成することにより、地上局は、飛行体が生成する静止画符号化データよりもデータ量を低減させることができる。つまり、符号化効率の低減を抑制することができる。このようにすることにより、撮像画像のデータ量をより低減させて記録したり伝送したりすることができる。つまり、撮像画像の記録や伝送の負荷の増大を抑制することができる。
 このような位置情報に基づく符号化として、例えば方法#1-1のように、位置情報に基づいて参照フレームの選択を行うようにしてもよい。
 動画像用の符号化方式には、他のフレームを参照して予測を行うことにより、フレーム間の冗長な情報を低減させることができるものがある。このような符号化方式で撮像画像を符号化する場合、各撮像画像をフレーム画像として符号化が行われる。ところで、撮像画像は、飛行体が移動しながら地上等を撮像したものであるので、位置が近い程、撮像画像間の相関が高いと言える。
 そこで、参照するフレーム(つまり、他の撮像画像)をどれにするかを、撮像画像の位置情報に基づいて選択するようにする。つまり、より位置の近い撮像画像を参照するようにする。このようにすることにより、予測精度を向上させることができ、符号化効率をより向上させることができる。
 また、例えば方法#1-2のように、位置情報に基づいて動きベクトルを算出するようにしてもよい。
 動画像用の符号化方式には、カレントフレームと参照フレームとの間で動き予測を行って動きベクトルを生成し、その動きベクトルを用いて符号化を行うものがある。上述のように飛行体は移動しながら撮像を行うので、撮像画像間の動きと飛行体の動き(カメラの動き等も含む)との相関性が高い。つまり、位置情報(飛行体の移動量)を考慮して動きベクトルの算出を行うことにより、より効率よく動きベクトルを算出することができる。
 また、例えば、位置情報に基づいて符号化に用いられる符号化パラメータを求めるようにしてもよい。例えば方法#1-3のように、位置情報に基づいてGOP構造を設定するようにしてもよい。
 上述のように飛行体は移動しながら撮像を行うので、撮像画像間の相関性は、飛行体の動き(カメラの動き等も含む)に依存する。例えば、飛行体の動きが大きい程、撮像画像間の相関性は低くなり、飛行体の動きが小さい程、撮像画像間の相関性は高くなる。
 したがって、位置情報(飛行体の移動量)を考慮してGOP構造を設定することにより、撮像画像間の相関性により適したGOP構造を設定することができ、符号化効率を向上させることができる。
 また、例えば方法#1-4のように、位置情報に基づいてレート制御を行うようにしてもよい。
 例えば、位置情報を用いて符号量を見積もり、その見積もりに従って設定した符号化パラメータを用いて符号化を行うことにより、疑似的な2パスのエンコードを実現することができる。換言するに、符号化の際にはレート制御が行われるので、疑似的な2パスのレート制御(以下、疑似2パスレート制御とも称する)を実現することができる。したがって、より適切なレート制御を行うことができるので、符号化効率を向上させることができる。
 また、例えば方法#1-5のように、位置情報に基づいて撮像画像(フレーム)の取捨選択を行うようにしてもよい。
 飛行体の移動(各撮像の撮像範囲)は安定しておらず、例えば風等の外的要因により意図しない撮像範囲を撮像してしまうこともあり得る。このような意図しない範囲の撮像画像は、利用価値がなく不要である可能性が高い。換言するに、そのような撮像画像を削除しても差し支えない(例えば、不都合無く3次元地図情報を生成することができる)。そこで、そのような不要な撮像画像であるか否かを、位置情報(すなわち撮像範囲)に基づいて判定し、不要な撮像画像を削除して符号化することにより、符号化効率の低減を抑制することができる。
 また、例えば方法#1-6のように、位置情報をユーザデータとして動画符号化データに付加する(関連付ける)ようにしてもよい。このようにすることにより、動画符号化データを復号して復元した撮像画像を処理する際に、その位置情報を利用することができる。例えば、地図情報を生成する際に、各撮像画像の位置情報用いることができ、より効率よく処理を行うことができる。
 また、例えば方法#2では、トランスコードの際に、複数移動体のそれぞれにおいて生成された撮像画像を、位置情報に基づいて並べ替え、並べ替えた撮像画像群を1本の動画像として、動画像用の符号化方式で符号化し動画符号化データを生成する。
 例えば、複数の飛行体により互いに略同一の範囲を撮像する場合、各飛行体で生成された撮像画像同士は、撮像範囲の位置が近く、相関性が高い。したがって、このようにすることにより、生成した飛行体が異なる撮像画像を参照することができるので、より符号化効率を向上させることができる。
 また、例えば方法#3では、移動体において符号化データを送信するか記録するかを選択する。
 例えば通信環境が十分に良い場合は、飛行体が静止画符号化データを、3次元地図情報を生成する設備(例えばクラウド等)に伝送する。このようにすることにより、より高速に撮像画像を、3次元地図情報を生成する設備に伝送することができる。また、地上局の負荷の増大を抑制することができる。
 また、例えば通信環境が良くない(十分でない)場合は、飛行体が静止画符号化データを記録媒体に記録し、撮像終了後(飛行終了後)にその静止画符号化データを地上局に伝送し、地上局がその静止画符号化データを動画符号化データにトランスコードし、その動画符号化データを、3次元地図情報を生成する設備(例えばクラウド等)に伝送する。このようにすることにより、伝送するデータ量の増大を抑制することができ、より高速に撮像画像を、3次元地図情報を生成する設備に伝送することができる。
 このように静止画符号化データを記録するかまたは伝送するか(システム全体としては撮像画像をどのように伝送するか)を選択することができるようにすることにより、状況に応じてより適切な方法で撮像画像を伝送させることができる。
 <3.第1の実施の形態>
  <画像処理システム>
 次に、図1の各方法についてより具体的に説明する。本実施の形態においては、方法#1(方法#1-1乃至方法#1-6を含む)について説明する。図2は、本技術を適用した画像処理システムの一態様の構成の一例を示すブロック図である。図2に示される画像処理システム100は、上空から地上等を撮像し、その撮像画像を用いて、撮像したその地上等の3次元地図情報を生成し、利用するシステムである。
 図2に示されるように、画像処理システム100は、飛行体101、地上局102、クラウド103、および端末装置104を有する。
 飛行体101は、移動体の一態様であり、空中を飛行する。飛行体101は、操縦者が乗る所謂有人の移動体であってもよいし、操縦者が遠隔操作により飛行する、または、プログラム等に従って飛行する所謂無人の移動体であってもよい。つまり、飛行体101は、操縦者による操縦、または、プログラム等による制御に従って飛行する。
 飛行体101は、カメラ101Aを有しており、飛行しながら被写体を撮像することができる。このカメラ101Aは、可動式(撮像範囲(撮像方向)が飛行体101の筐体に対して可変)であってもよいし、固定式(撮像範囲(撮像方向)が飛行体101の筐体に対して固定)であってもよい。また、このカメラ101Aは、飛行体101から着脱可能であるようにしてもよいし、飛行体101と一体化されている(着脱不可能である)ようにしてもよい。
 例えば、飛行体101は、地上等の所望の範囲である被写体領域110上を飛行しながら、このカメラ101Aを用いてその被写体領域110を撮像する。被写体領域110はカメラ101Aの撮像範囲に対して広く、カメラ101Aは一度に被写体領域110全体を撮像することは困難である。
 そこで、飛行体101は、例えば、被写体領域110の上空を矢印のようにジグザグに移動しながらカメラ101Aを用いて撮像を行う。例えば飛行体101は、上述のように移動したり、カメラ101Aの角度を変えたりして撮像範囲を毎回変えて撮像を繰り返し、被写体領域110内を隙間なく撮像する。飛行体101は、このような撮像により生成した各撮像画像(静止画像)を静止画像用の符号化方式で符号化し、静止画符号化データを生成する。
 なお、飛行体101は、撮像範囲の位置に関する情報を位置情報として静止画符号化データに付加する。この位置情報には、例えば、飛行体101の位置を示すGPS(Global Positioning System)情報、飛行体101の動きを示すIMU(Inertial Measurement Unit)情報、および、カメラ101Aの向き(撮像の方向)等を示す撮像制御情報等が含まれる。このような位置情報が付加された静止画符号化データは、飛行体101の内部の記憶媒体に記憶される。
 撮像(飛行)終了後、飛行体101と地上局102とが通信可能に接続され、飛行体101の記憶媒体に記憶されている静止画符号化データが地上局102に伝送される。この接続(通信)は、どのようなものであってもよく、例えば、有線接続(有線通信)であってもよいし、無線接続(無線通信)であってもよい。また、例えば、リムーバブルメディア等の記憶媒体を介して(記憶媒体に記憶された状態で)静止画符号化データが飛行体101から地上局102に伝送されるようにしてもよい。
 地上局102は、情報処理装置(画像処理装置)の一態様であり、例えば被写体領域110の付近に設置され、撮像(飛行)終了後の飛行体101から静止画符号化データを取得する。地上局102は、取得したその静止画符号化データをトランスコードして動画符号化データに変換する。その際、地上局102は、静止画符号化データに付加された位置情報を利用して撮像画像を動画像用の符号化方式で符号化する。地上局102は、クラウド103と通信可能に接続されており(または接続可能であり)、その通信により、生成した動画符号化データをクラウド103に転送する。
 クラウド103は、情報処理装置(画像処理装置)の一態様であり、任意の構成を有し、任意の処理を行うことができる。クラウド103のハードウエア性能は、十分に高性能であり、高度な処理(負荷の大きな複雑な処理)も容易に行うことができる。例えば、クラウド103は、地上局102から動画符号化データを取得し、その動画符号化データを復号して撮像画像を復元し、その撮像画像を用いて、被写体領域110の3次元測量を行い、被写体領域110の3次元地図情報を生成する。そして、クラウド103は、その生成した3次元地図情報をデータベース等に蓄積し、その3次元地図情報の配信サービスを提供する。
 端末装置104は、情報処理装置(画像処理装置)の一態様であり、クラウド103が提供する配信サービスを受ける端末装置である。例えば、端末装置104は、クラウド103と通信可能に接続されており、(または接続可能であり)、その通信により、クラウド103に対して被写体領域110を指定し、その3次元地図情報の供給を要求する。クラウド103は、その要求された3次元地図情報を端末装置104に供給する。
 端末装置104は、ユーザ操作等に従って、供給された3次元地図情報を画像としてモニタに表示する。端末装置104のユーザは、表示された3次元地図を利用することができる。
  <飛行体>
 図3は、飛行体101の主な構成例を示すブロック図である。図3に示されるように、飛行体101は、例えば、制御部131、飛行部151、IMU(Inertial Measurement Unit)部152、GPS(Global Positioning System)部153、撮像制御部154、撮像部155、符号化部156、情報付加部157、記憶部158、および送信部159を有する。
 制御部131は、飛行体101の制御に関する処理を行う。例えば、制御部131は、飛行部151乃至送信部159の各処理部の動作を制御する。例えば、制御部131は、飛行体101の飛行の制御(経路制御や速度制御等)、撮像の制御(カメラ101Aの姿勢(角度等)、焦点距離、ズーミング、撮像タイミング、露光時間等の制御)、撮像画像の符号化、位置情報の取得や付加、静止画符号化データの記憶や読み出し(送信)等の各種処理を制御する。
 制御部131は、どのような構成を有するようにしてもよいが、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、そのCPUがROMや記憶部158等に記憶されているプログラムやデータ等をRAMにロードして実行することにより、飛行体101の制御に関する処理を行う。
 また、制御部131は、図示せぬ入力部(操作部)を介して入力されるユーザ指示等に基づいて、飛行体101の制御に関する処理を行うことができる。さらに、制御部131は、図示せぬ通信部を介して他の装置から供給される制御情報に基づいて、飛行体101の制御に関する処理を行うことができる。
 飛行部151は、例えばプロペラやモータ等、飛行体101が飛行するのに必要な機能を有する。つまり、飛行部151が駆動することにより、飛行体101が飛行する。飛行部151は、制御部131の制御に従って駆動する。例えば、飛行部151は、制御部131の指示に従って飛行を開始したり終了したりする。また、例えば、飛行部151は、位置、高さ、経路、速度等が制御部131の指示の通りになるように、飛行体101を飛行させる(移動させる)。
 IMU部152は、3軸のジャイロ(角速度センサまたは各加速度センサ)と3方向の加速度センサとを有し、制御部131の制御に従ってそれらのセンサを駆動し、3次元の角速度と加速度を求める。つまり、IMU部152は、飛行体101の動きに関する情報を生成する。IMU部152は、生成した動きに関する情報(例えば3次元の角速度と加速度を含む)を、情報付加部157に供給する。
 GPS部153は、制御部131により制御されて、GPS衛星161から送信される信号を受信し、その信号に基づいて飛行体101の位置(座標)を求める。つまり、GPS部153は、飛行体101の位置に関する情報を生成する。GPS部153は、生成した位置に関する情報(GPS情報)を、情報付加部157に供給する。
 撮像制御部154は、制御部131により制御されて、撮像部155の駆動を制御する。例えば、撮像制御部154は、カメラ101Aの姿勢(角度等)、焦点距離、ズーミング、撮像タイミング、露光時間等の制御を行う。また、撮像制御部154は、その制御内容(つまり撮像の方向等)を示す撮像制御情報を、情報付加部157に供給する。
 撮像部155は、カメラ101Aやそのカメラ101Aの姿勢を制御する機構等を含み、撮像制御部154の制御に従って撮像に関する処理を行う。例えば、撮像部155は、撮像制御部154により指定された撮像タイミングにおいて、撮像制御部154により指定された姿勢、焦点距離、ズーミング、露光時間により被写体(例えば被写体領域110)を撮像し、静止画像の撮像画像(のデータ)を生成する。撮像部155は、その撮像画像を符号化部156に供給する。
 符号化部156は、制御部131により制御されて、撮像部155から供給される各撮像画像を、静止画像用の符号化方式により符号化し、静止画符号化データを生成する。この静止画像用の符号化方式は任意である。例えばJPEG(Joint Photographic Experts Group)等であってもよいし、これ以外の方式であってもよい。符号化部156は、生成した静止画符号化データを情報付加部157に供給する。
 情報付加部157は、制御部131により制御されて、静止画像データに、その撮像画像の位置に関する位置情報を付加する。この位置情報には、例えば、静止画符号化データに、GPS部153から供給されたGPS情報、IMU部152から供給されたIMU情報、撮像制御部154から供給された撮像制御情報の内、少なくともいずれか1つが含まれる。つまり、この位置情報には、飛行体101の位置や動きに関する情報、撮像の制御に関する情報等の内、少なくともいずれか1つが含まれる。なお、飛行体101の位置には、水平方向の位置(例えば、緯度や経度)が含まれるようにしてもよいし、垂直方向の位置(高さ)が含まれるようにしてもよいし、その両方が含まれるようにしてもよい。この高さは、例えば飛行体101に高度計を設け、その高度計により計測するようにしてもよいし、IMU情報等から算出するようにしてもよい。
 情報付加部157は、その位置情報を、メタデータとして静止画符号化データに付加し、ファイル化する。このファイルフォーマットは任意である。例えば、情報付加部157は、Exif(Exchangeable Image File Format)を用いて位置情報を前記符号化データに付加するようにしてもよい。このようなフォーマットを利用することにより、位置情報へのアクセスをより容易にすることができる。
 情報付加部157は、以上のように静止画符号化データに位置情報を付加して生成した画像ファイルを記憶部158に供給する。
 記憶部158は、例えばハードディスクやフラッシュメモリ等の任意の記憶媒体を有し、制御部131に制御されて、情報付加部157から供給される画像ファイルをその記憶媒体に記憶する。また、記憶部158は、制御部131に制御されて、その記憶媒体に記憶されている画像ファイルを読み出し、送信部159に供給する。
 送信部159は、例えばネットワークインタフェースを有し、制御部131に制御されて、そのネットワークインタフェースを介した送信に関する処理を行う。例えば、送信部159は、飛行後(撮像終了後)、地上局102に通信可能に接続された状態において、記憶部158に記憶されている画像ファイル(例えば今回の飛行において生成した画像ファイル)を読み出し、地上局102に送信する。この通信方法・通信方式は任意である。例えば、有線通信であってもよいし、無線通信であってもよい。
  <画像ファイル>
 撮像部155は、被写体領域110を撮像する際、撮像範囲が他と重畳するように撮像範囲を更新しながら撮像を繰り返す。したがって、例えば、図4のAに示される撮像画像171乃至撮像画像174のように、互いの近傍を撮像した撮像画像同士では、多くの部分が重複している。実際には、3D画像(3次元地図情報)を生成するための撮像画像なので、撮像の角度(向き)が互いに異なる同一地点の複数の撮像画像を利用する場合もあり、重複部分だからといって単純に削減することはできないが、画像としての類似度は非重複部分よりも高くなり易い。つまり画像情報的には、これらの撮像画像群には、冗長な情報が多く含まれる。
 ただし、飛行体101は、筐体サイズや重量の制限、バッテリ駆動による電力消費量の制限等から、一般的に、負荷の大きな動画像用の符号化を行うことは困難である。そこで、飛行体101は、上述のように、静止画で撮像を行い、その撮像画像を静止画像用の符号化方式で符号化する。
 上述のように、これらの撮像画像は、それぞれ、位置情報が付加されファイル化される。例えば、図4のBに示されるように、撮像画像171の静止画符号化データには、その撮像画像171に対応する位置情報181(撮像画像171を生成した撮像時の位置情報181)が所定のファイルフォーマットで付加され、画像ファイル191が生成される。この位置情報181には、例えば、GPS情報(GPS: xx; xx; xxx, xxx; xx; xxx)、IMU情報(IMU: xxx, xxx)、および撮像制御情報(カメラ角度: xxx, xxx)が含まれる。
 同様に、撮像画像172の静止画符号化データには、その撮像画像172に対応する位置情報182(撮像画像172を生成した撮像時の位置情報182)が所定のファイルフォーマットで付加され、画像ファイル192が生成される。同様に、撮像画像173の静止画符号化データには、その撮像画像173に対応する位置情報183(撮像画像173を生成した撮像時の位置情報183)が所定のファイルフォーマットで付加され、画像ファイル193が生成される。同様に、撮像画像174の静止画符号化データには、その撮像画像174に対応する位置情報184(撮像画像174を生成した撮像時の位置情報184)が所定のファイルフォーマットで付加され、画像ファイル194が生成される。
 したがって、これらの画像ファイルは、静止画符号化データを含み、動画符号化データに比べて符号量が大きい。また、静止画像用の符号化方式では、各撮像画像が独立に符号化されるため、上述のような撮像画像間の冗長な情報を低減させることは困難である。つまり、画像ファイルには図4のAに示されるような冗長な情報が多く含まれている。したがって、符号化効率が低減している(向上させる余地がある)。
  <地上局>
 そこで、地上局102は、このような画像ファイル(静止画符号化データ)をトランスコードして動画符号化データに変換する。さらに、その際、静止画符号化データに付加されている位置情報を用いて符号化を行う。このようにすることにより、地上局102は、符号化効率を向上させた動画符号化データを生成することができる。つまり、符号化効率の低減を抑制することができる。
 図5は、地上局102の主な構成例を示すブロック図である。図5に示されるように、地上局102は、例えば、受信部201、分離部202、復号部203、動画像符号化部204、送信部205、および記憶部206を有する。また、動画像符号化部204は、フレームメモリ211、動き予測部212、および符号化部213を有する。
 受信部201は、例えばネットワークインタフェースを有し、そのネットワークインタフェースを介した受信に関する処理を行う。例えば、受信部201は、飛行体101に通信可能に接続された状態において、その飛行体101(送信部159)から送信された画像ファイルを受信する。受信部201は、受信した画像ファイルを分離部202に供給する。
 分離部202は、供給された画像ファイルの位置情報と静止画符号化データとを分離する。分離部202は、静止画符号化データから分離した位置情報(GPS情報、IMU情報、撮像制御情報等)を動画像符号化部204(の動き予測部212および符号化部213)に供給する。また、分離部202は、位置情報から分離した静止画符号化データを復号部203に供給する。
 復号部203は、供給された静止画符号化データを、その符号化方式に対応する復号方式により復号し、撮像画像(のデータ)を復元する。例えば、上述の例のように、撮像画像が1枚ずつ静止画像として静止画像用の符号化方式で符号化されている場合、復号部203は、その符号化方式に対応する静止画像用の復号方式で、各静止画符号化データを復号し、それぞれ撮像画像を復元する。復号部203は、復元した撮像画像(画像データ)を、動画像符号化部204のフレームメモリ211に供給する。
 動画像符号化部204は、撮像画像の符号化に関する処理を行う。例えば、動画像符号化部204は、移動体が撮像した撮像画像を符号化する。例えば、動画像符号化部204は、移動体が被写体を撮像してその撮像画像を生成した位置に対応する位置情報に基づいてその符号化を行う。例えば、動画像符号化部204は、復号部203が復号する前の符号化データの符号化方式と異なる他の方式により、その符号化を行う。例えば、動画像符号化部204は、静止画符号化データを復号部203が復号して復元した複数の撮像画像を動画像のフレーム画像として符号化する。つまり、動画像符号化部204は、撮像画像群を、動画像用の符号化方式で符号化し、動画符号化データを生成する。この動画像用の符号化方式は任意である。例えば、MPEG(Moving Picture Experts Group)、AVC(Advanced Video Coding)、またはHEVC(High Efficiency Video Coding)等であってもよいし、これら以外の方式であってもよい。
 例えば、動画像符号化部204は、動き予測を用いて撮像画像群を符号化する。フレームメモリ211は、復号部203から供給される撮像画像を取得し、記憶する。動き予測部212は、そのフレームメモリ211に記憶されている撮像画像と、分離部202から供給された位置情報とを用いて動き予測を行い、動きベクトルを生成する。動き予測部212は、生成した動きベクトルを符号化部213に供給する。符号化部213は、動き予測部212から供給される動きベクトルと、分離部202から供給された位置情報とを利用して、フレームメモリ211に記憶されている撮像画像群を符号化し、動画符号化データを生成する。
 動画像符号化部204(符号化部213)は、生成した動画符号化データを送信部205若しくは記憶部206、またはその両方に供給する。
 送信部205は、ネットワークインタフェースを有し、そのネットワークインタフェースを介した送信に関する処理を行う。例えば、送信部205は、動画像符号化部204(符号化部213)から供給される動画符号化データを、他の装置(例えば通信可能に接続されたクラウド103)に送信する。この通信方法・通信方式は任意である。例えば、有線通信であってもよいし、無線通信であってもよい。
 記憶部206は、例えばハードディスクやフラッシュメモリ等の任意の記憶媒体を有し、動画像符号化部204(符号化部213)から供給される動画符号化データをその記憶媒体に記憶する。この記憶部206に記憶された動画符号化データは、任意の方法で利用することができる。例えば、地上局102が、3次元地図情報の生成等の所定の画像処理を行うようにし、その画像処理の際に、その動画像データを記憶部206から読み出し、利用するようにしてもよい。また例えば、その記憶部206からその動画符号化データが読み出され、送信部205を介して他の装置に伝送されるようにしてもよい。また例えば、記憶部206が他の装置に接続され(その際記憶部206が地上局102から外されてもよい)、他の装置によって記憶部206からその動画符号化データが読み出されるようにしてもよい。
  <処理の比較>
 静止画符号化データのままクラウド103に伝送する場合と、動画符号化データにトランスコードしてクラウド103に伝送する場合とで処理を比較したタイミングチャートの例を図6に示す。
 静止画符号化データのままクラウド103に伝送する場合、飛行体101が飛行して撮像し静止画を記録する処理、静止画符号化データ(静止画像データ)をクラウド103にアップロードする処理、クラウド103がその撮像画像に基づいて3次元地図情報を生成する3D処理、端末装置104がその3次元地図情報(3Dデータ)をダウンロードする処理、および、端末装置104がダウンロードした3次元地図情報を画像として表示する処理が、図6のAに示されるように行われる。
 これに対して、動画符号化データにトランスコードしてクラウド103に伝送する場合、図6のBに示されるように、静止画符号化データをクラウド103にアップロードする処理の代わりに、静止画符号化データを動画符号化データにトランスコードする処理とその動画符号化データ(動画像データ)をクラウド103にアップロードする処理が行われる。
 このような画像処理システム100により、容易に3次元地図情報を生成し、利用することができる。例えば広大であったり地形が複雑であったりして地上においての計測が困難な場合である程、その3次元地図情報生成の容易さがより顕著になるので、利用価値が高い。したがって、例えば郊外や山中等のような場所を、3次元地図情報を生成する現場(被写体領域110の場所)とすることも十分に想定される。しかしながら、このような場所では、通信設備も少なく、通信環境が良くない(通信帯域が狭い)場合も多い。
 静止画符号化データのデータ量は動画符号化データに比べて非常に大きい為、通信環境が良くない(通信帯域が狭い)と、静止画符号化データのままクラウド103に伝送する場合、図6のAのように静止画符号化データのアップロードに長時間かかってしまう。
 そこで、地上局102が、上述のように静止画符号化データを動画符号化データにトランスコードすることにより、静止画符号化データに比べてデータ量を大幅に低減させることができる。さらに、位置情報を用いて符号化を行うことにより、さらに効率よく符号化を行うことができる。すなわち、符号化効率の低減を抑制することができる。
 したがって、図6のBに示されるように、トランスコードとアップロードの処理を合わせても、図6のAの場合よりも高速に伝送することができる。換言するに、画像データ(符号化データ)のアップロードにおける通信の負荷の増大を抑制することができる。付言するに、この場合、3次元地図情報の生成、提供、利用等を、図6のAの場合よりも早く行うことができる。
  <撮像処理の流れ>
 次に、このような画像処理システム100において実行される処理について説明する。飛行体101は、撮像を行う場合、撮像処理を実行する。図7のフローチャートを参照して、飛行体101により実行される撮像処理の流れの例を説明する。
 撮像処理が開始されると、飛行部151は、ステップS101において、制御部131に制御されて、被写体領域110の上空の所望の位置を飛行する。
 ステップS102において、撮像制御部154は、制御部131に制御されて撮像部155を制御し、撮像方向を所望の方向に調整する。必要に応じて画角等も調整する。
 ステップS103において、撮像部155は、制御部131に制御されて被写体(被写体領域110)を撮像し、撮像画像を生成する。また、IMU部152はその時点のIMU情報を生成し、GPS部153はその時点のGPS情報を生成し、撮像制御部154はその時点の撮像制御情報を生成する。
 ステップS104において、符号化部156は、制御部131に制御されて、ステップS103において生成された撮像画像を、例えばJPEG等の静止画像用の符号化方式で符号化する。
 ステップS105において、情報付加部157は、ステップS103において生成されたIMU情報、GPS情報、および撮像制御情報を含む位置情報を、ステップS104において生成された静止画符号化データに関連付ける。例えば、情報付加部157は、例えばExif等の所定のファイルフォーマットにより位置情報をメタデータとして静止画符号化データに付加し、画像ファイルを生成する。
 ステップS106において、記憶部158は、ステップS105において生成された画像ファイルを記憶する。
 ステップS106の処理が終了すると撮像処理が終了する。飛行体101は、例えば、このような撮像処理を繰り返すことにより、被写体領域110の全域を撮像する。
  <変換転送処理の流れ>
 飛行体101の飛行(撮像)が終了し、飛行体101が地上局102と通信可能に接続されると、地上局102は、変換転送処理を実行する。地上局102により実行される変換転送処理の流れの例を、図8のフローチャートを参照して説明する。
 変換転送処理が開始されると、受信部201は、ステップS121において、飛行体101(送信部159)から送信された画像ファイルを取得する。
 ステップS122において、分離部202は、ステップS121において取得した画像ファイルから位置情報を抽出し、位置情報と静止画符号化データとを分離する。
 ステップS123において、復号部203は、ステップS122において位置情報から分離された静止画符号化データを復号し、撮像画像を復元する。
 ステップS124において、フレームメモリ211は、ステップS123において復元された撮像画像(画像データ)を記憶する。
 ステップS125において、動き予測部212は、ステップS122において抽出された位置情報と、ステップS124において記憶された撮像画像とを用いて動き予測を行い、動きベクトルを生成する。
 ステップS126において、符号化部213は、ステップS122において抽出された位置情報を用いて符号化パラメータを設定する。
 ステップS127において、符号化部213は、ステップS125において生成された動きベクトルと、ステップS126において設定された符号化パラメータとを用いて、ステップS124において記憶された撮像画像を、例えば、MPEG、AVC、HEVC等の動画像用の符号化方式で符号化し、動画符号化データを生成する。
 ステップS128において、送信部205は、ステップS127において生成された動画符号化データをクラウド103に送信する。または、記憶部206が、ステップS127において生成された動画符号化データを記憶してもよい。
 ステップS128の処理が終了すると変換転送処理が終了する。
 以上のように各処理を実行することにより、符号化効率の低減を抑制することができる。
  <動画像符号化部の例>
 地上局102の動画像符号化部204が行う符号化の動画像用の符号化方式は、任意である。例えば、MPEG、AVC、HEVC等であってもよい。図9は、HEVCに準拠した符号化方式で撮像画像を符号化する場合の、動画像符号化部204の主な構成例を示すブロック図である。
 この場合、動画像符号化部204は、制御部301、並べ替えバッファ311、演算部312、直交変換部313、量子化部314、符号化部315、蓄積バッファ316、逆量子化部317、逆直交変換部318、演算部319、インループフィルタ部320、フレームメモリ321、予測部322、およびレート制御部323を有する。
 図5のフレームメモリ211は、図9の並べ替えバッファ311に対応する。また、図5の動き予測部212は、図9の制御部301および予測部322に対応する。また、図5の符号化部213は、図9の各処理部(制御部301乃至レート制御部323)に対応する。
 制御部301は、動画像符号化部204による符号化の制御に関する処理を行う。例えば、制御部301は、各ブロック(各処理部)へ供給する符号化パラメータを、RDO(Rate-Distortion Optimization)に基づいて設定する。また、制御部301は、設定した符号化パラメータを、適宜、動画像符号化部204の各処理部(例えば、並べ替えバッファ311、直交変換部313、量子化部314、符号化部315、逆量子化部317、逆直交変換部318、インループフィルタ部320、および予測部322等)に供給することにより、各処理部において行われる処理を制御する。
 また、制御部301は、例えば、その符号化パラメータを含む制御情報(例えば、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ等)を生成し、符号化部315に供給し、符号化データに含めて伝送させる。
 また、制御部301は、並べ替えバッファ311により保持されている動画像データのフレームの並べ替えを制御したり、外部、または予め指定された処理単位のブロックサイズに基づいて、並べ替えバッファ311により保持されている動画像データを処理単位のブロック(CU, PU, 変換ブロックなど)へ分割したりする。
 並べ替えバッファ311は、入力される撮像画像を動画像のフレーム画像として取得し、保持(記憶)する。その際の取得した順が再生順(表示順)とされる。並べ替えバッファ311は、制御部301の制御に基づいて、各撮像画像(入力画像)を符号化順(復号順)に並べ替えたり、処理単位のブロックに分割したりする。並べ替えバッファ311は、処理後の各撮像画像を演算部312に供給する。また、並べ替えバッファ311は、その各撮像画像(元画像)を、予測部322やインループフィルタ部320にも供給する。
 演算部312は、処理単位のブロックに対応する撮像画像と、予測部322より供給されるそのブロックに対応する予測画像とを入力とし、撮像画像から予測画像を減算して、予測残差を生成し、それを直交変換部313に供給する。
 直交変換部313は、制御部301から供給される符号化パラメータに基づいて、演算部312から供給される予測残差に対して直交変換を行い、変換係数を生成する。直交変換部313は、生成した変換係数を量子化部314に供給する。
 量子化部314は、制御部301から供給される変換情報に基づいて、直交変換部313から供給される変換係数をスケーリング(量子化)する。なお、この量子化のレートは、レート制御部323により制御される。量子化部314は、このような量子化により得られた量子化後の変換係数(量子化変換係数とも称する)を、符号化部315および逆量子化部317に供給する。
 符号化部315は、量子化部314から供給された量子化変換係数を可変長符号化(例えば、算術符号化)し、ビット列(符号化データ)を生成する。また、符号化部315は、その量子化変換係数から符号化パラメータを生成して符号化し、ビット列を生成する。さらに、符号化部315は、インループフィルタ部320から供給されるフィルタに関する情報、予測部322から供給される最適な予測モードに関する情報等を符号化し、ビット列を生成する。また、符号化部315は、制御部301より供給される各種の符号化パラメータを符号化し、ビット列を生成する。さらに、符号化部315は、以上のように生成された各種情報のビット列を多重化し、符号化データを生成する。符号化部315は、その符号化データを蓄積バッファ316に供給する。
 蓄積バッファ316は、符号化部315において得られた符号化データを、一時的に保持する。蓄積バッファ316は、所定のタイミングにおいて、保持している符号化データを、例えばビットストリーム等として動画像符号化部204の外部(例えば送信部205や記憶部206)に出力する。
 逆量子化部317は、制御部301から供給される符号化パラメータに基づいて、量子化部314から供給される量子化変換係数の値をスケーリング(逆量子化)する。なお、この逆量子化は、量子化部314において行われる量子化の逆処理であり、復号側の逆量子化部(後述する)により行われる逆量子化と同様の処理である。つまり、復号側の逆量子化について行う説明(後述する)をこの逆量子化部317の説明に適用することができる。逆量子化部317は、このような逆量子化により得られた変換係数を、逆直交変換部318に供給する。
 逆直交変換部318は、制御部301から供給される符号化パラメータに基づいて、逆量子化部317から供給される変換係数に対して逆直交変換を行い、予測残差を生成する。なお、この逆直交変換は、直交変換部313において行われる直交変換の逆処理であり、復号側の逆直交変換部(後述する)により行われる逆直交変換と同様の処理である。つまり、復号側の逆直交変換について行う説明(後述する)をこの逆直交変換部318の説明に適用することができる。
 演算部319は、逆直交変換部318から供給される予測残差と、予測部322から供給される、その予測残差に対応する予測画像とを加算し、局所復号画像を生成する。演算部319は、生成した局所復号画像をインループフィルタ部320およびフレームメモリ321に供給する。
 インループフィルタ部320は、制御部301等から供給される符号化パラメータに基づいて、演算部319から供給される局所復号画像に対して適宜フィルタ処理を行う。なお、インループフィルタ部320が行うフィルタ処理は任意である。例えば、デブロッキングフィルタ(DBF(DeBlocking Filter))や、適応オフセットフィルタ(SAO(Sample Adaptive Offset))等が行われるようにしてもよい。これらの内、複数のフィルタ処理が行われるようにしてもよい。
 インループフィルタ部320は、フィルタ処理された局所復号画像をフレームメモリ321に供給する。なお、例えばフィルタ係数等のフィルタに関する情報を復号側に伝送する場合、インループフィルタ部320は、そのフィルタに関する情報を符号化部315に供給する。
 フレームメモリ321は、演算部319から供給される局所復号画像や、インループフィルタ部320から供給されるフィルタ処理された局所復号画像を保持(記憶)する。また、フレームメモリ321は、その局所復号画像を用いてピクチャ単位毎の復号画像を再構築し、保持する(フレームメモリ321内のバッファへ格納する)。フレームメモリ321は、予測部322の要求に応じて、その復号画像(またはその一部)を予測部322に供給する。
 予測部322は、制御部301から供給される符号化パラメータや、並べ替えバッファ311から供給される入力画像(元画像)を用い、インター予測やイントラ予測等の予測処理を行い、復号画像を参照画像として参照して予測を行い、その予測結果に基づいて動き補償処理を行い、予測画像を生成する。予測部322は、生成した予測画像を演算部312および演算部319に供給する。また、予測部322は、以上の処理により選択した予測モード、すなわち最適な予測モードに関する情報を、必要に応じて符号化部315に供給する。
 レート制御部323は、蓄積バッファ316に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部314の量子化動作のレートを制御する。
 以上のような構成の動画像符号化部204において、制御部301は、分離部202から供給される位置情報を取得し、その位置情報に基づいて、動きベクトルや符号化パラメータを設定する。動画像符号化部204の各処理部(並べ替えバッファ311乃至レート制御部323)は、そのように設定された動きベクトルや符号化パラメータを用いて符号化を行う。つまり、動画像符号化部204は、位置情報を利用して撮像画像を符号化する。
 したがって、動画像符号化部204は、上述のように符号化効率の低減を抑制することができる。
  <動画像符号化処理の流れ>
 図10のフローチャートを参照して、このような符号化を行う際に動画像符号化部204が実行する動画像符号化処理の流れの例を説明する。
 動画像符号化処理が開始されると、並べ替えバッファ311は、ステップS141において、復号部203より供給される撮像画像の画像データを取得し、蓄積する。
 ステップS142において、制御部301は、符号化の制御に関する処理を行う。例えば、制御部301は、分離部202から供給される位置情報に基づいて、動き予測に関する制御や符号化パラメータの設定を行う。
 ステップS143において、並べ替えバッファ311は、制御部301により制御されて、入力された動画像データのフレーム(撮像画像群)の順を表示順から符号化順に並べ替える。
 ステップS144において、予測部322は、制御部301により制御されて、予測処理を行い、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部322は、イントラ予測を行って最適なイントラ予測モードの予測画像等を生成し、インター予測を行って最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。例えば、予測部322は、インター予測において、制御部301により設定された参照フレームや動きベクトルを用いる。
 ステップS145において、演算部312は、入力画像と、ステップS144の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部312は、入力画像と予測画像との予測残差を生成する。このようにして求められた予測残差は、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS146において、直交変換部313は、ステップS145の処理により生成された予測残差に対して直交変換処理を行い、変換係数を生成する。
 ステップS147において、量子化部314は、ステップS142において設定された符号化パラメータを用いる等して、ステップS146の処理により生成された変換係数を量子化し、量子化変換係数を生成する。
 ステップS148において、逆量子化部317は、ステップS147の処理により生成された量子化変換係数を、ステップS147の量子化の特性に対応する特性で逆量子化し、変換係数を生成する。
 ステップS149において、逆直交変換部318は、ステップS148の処理により生成された変換係数を、ステップS146の直交変換処理に対応する方法で逆直交変換し、残差データを生成する。
 ステップS150において、演算部319は、ステップS149の処理により生成された予測残差に、ステップS144の予測処理により生成された予測画像を加算することにより、局所的に復号された復号画像を生成する。
 ステップS151において、インループフィルタ部320は、ステップS150の処理により生成された、局所的に復号された復号画像に対して、インループフィルタ処理を行う。
 ステップS152において、フレームメモリ321は、ステップS150の処理により導出された、局所的に復号された復号画像や、ステップS151においてフィルタ処理された、局所的に復号された復号画像を記憶する。
 ステップS153において、符号化部315は、ステップS147の処理により得られた量子化変換係数を符号化する。例えば、符号化部315は、画像に関する情報である量子化変換係数を、算術符号化等により符号化し、符号化データを生成する。また、このとき、符号化部315は、各種符号化パラメータを符号化する。さらに、符号化部315は、量子化変換係数から符号化パラメータを生成し、符号化する。
 ステップS154において、蓄積バッファ316は、このようにして生成された符号化データを蓄積し、例えばビットストリームとして、それを動画像符号化部204の外部(送信部205または記憶部206)に出力する。
 ステップS154の処理が終了すると、動画像符号化処理が終了する。
 以上のように動画像符号化処理を実行することにより、位置情報を用いて撮像画像を符号化することができる。したがって、符号化効率の低減を抑制することができる。
  <クラウドの構成>
 次に、復号側について説明する。地上局102により生成された動画符号化データは、クラウド103に転送され、クラウド103により復号される。クラウド103のハードウエア構成は任意である。例えば、単数の情報処理装置により構成されるようにしてもよいし、複数の情報処理装置により構成されるようにしてもよい。
 図11は、クラウド103が例えば1台のコンピュータにより構成されるものとした場合の、主な構成例を示すブロック図である。
 図11に示されるように、クラウド103は、CPU401、ROM402、RAM403、バス404、入出力インタフェース410、入力部411、出力部412、記憶部413、通信部414、およびドライブ415を有する。
 CPU401、ROM402、RAM403は、バス404を介して相互に接続されている。バス404にはまた、入出力インタフェース410も接続されている。入出力インタフェース410には、入力部411、出力部412、記憶部413、通信部414、およびドライブ415が接続されている。
 入力部411は、ユーザ入力等の外部の情報を受け付ける任意の入力デバイスよりなる。例えば、入力部411が、操作ボタン、タッチパネル、カメラ、マイクロホン、および入力端子のいずれか1つ以上を有するようにしてもよい。また、例えば、入力部411が、光センサや温度センサ等の任意のセンサを1つ以上有するようにしてもよい。もちろん、入力部411が、これら以外の入力デバイスを有するようにしてもよい。
 出力部412は、画像や音声等の情報を出力する任意の出力デバイスよりなる。例えば、出力部412が、ディスプレイ、スピーカ、および出力端子のいずれか1つ以上を有するようにしてもよい。もちろん、出力部412が、これら以外の出力デバイスを有するようにしてもよい。
 記憶部413は、プログラムやデータ等の情報を記憶する任意の記憶媒体よりなる。例えば、記憶部413が、ハードディスク、RAMディスク、不揮発性メモリのいずれか1つ以上を有するようにしてもよい。もちろん、記憶部413が、これら以外の記憶媒体を有するようにしてもよい。
 通信部414は、所定の通信媒体(例えばインターネット等の任意のネットワーク)を介して外部の装置とプログラムやデータ等の情報を授受する通信を行う任意の通信デバイスにより構成される。通信部414は、例えば、任意のネットワークインタフェースにより構成されるようにしてもよい。例えば、通信部414は、他の装置と通信(プログラムやデータの授受)を行う。なお、通信部414が有線通信機能を有するようにしてもよいし、無線通信機能を有するようにしてもよいし、その両方を有するようにしてもよい。
 ドライブ415は、自身に装着されたリムーバブルメディア421に記憶されている情報を読み出したり、自身に装着されたリムーバブルメディア421に情報を書き込んだりする。ドライブ415は、例えば、リムーバブルメディア421から情報を読み出し、その読み出した情報をCPU401やRAM403等に供給することができる。また、ドライブ415は、書き込み可能なリムーバブルメディア421が自身に装着された場合、CPU401やRAM403等から供給される情報(プログラムやデータ等)を、そのリムーバブルメディア421に記憶させることができる。リムーバブルメディア421は、ドライブ415に対して着脱可能な記録媒体である。例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどであってもよい。
 CPU401は、例えば、ROM402や記憶部413に記憶されているプログラム等を、RAM403にロードして実行することにより、各種処理を行う。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU401は、このようにプログラム等を実行することにより、動画符号化データの復号に関する処理を行うことができる。
  <動画像復号部の構成>
 例えば、CPU401は、図12に示されるような構成の動画像復号部の機能を実現する。図12に示される動画像復号部500は、図9の動画像符号化部204により生成された動画符号化データを復号する処理部であり、図9の動画像符号化部204の符号化方式、すなわち、HEVCに準拠した符号化方式に対応する復号方式で動画符号化データを復号する。
 図12において、動画像復号部500は、蓄積バッファ511、復号部512、逆量子化部513、逆直交変換部514、演算部515、インループフィルタ部516、並べ替えバッファ517、フレームメモリ518、および予測部519を備える。なお、予測部519は、不図示のイントラ予測部、およびインター予測部を備える。
 蓄積バッファ511は、動画像復号部500に入力されたビットストリーム(動画符号化データ)を取得し、保持(記憶)する。蓄積バッファ511は、所定のタイミングにおいて、または、所定の条件が整う等した場合、蓄積しているビットストリームを復号部512に供給する。
 復号部512は、シンタックステーブルの定義に沿って、蓄積バッファ511から供給されるビットストリームに含まれる、各シンタックス要素のシンタックス値を可変長復号し、パースして(解析して取得して)、復号パラメータを生成する。復号部512は、生成した復号パラメータを、動画像復号部500の各処理部(例えば、逆量子化部513、逆直交変換部514、インループフィルタ部516、予測部519等)に、適宜供給する。
 また、復号部512は、動画符号化データを復号して、各変換ブロックの量子化変換係数を生成する。復号部512は、その量子化変換係数を、逆量子化部513に供給する。
 逆量子化部513は、復号部512から供給される復号パラメータに基づいて、復号部512から供給される量子化変換係数の値をスケーリング(逆量子化)し、逆量子化後の変換係数を生成する。なお、この逆量子化は、量子化部314による量子化の逆処理として行われる。つまり、この逆量子化は、逆量子化部317による逆量子化と同様の処理である。逆量子化部513は、生成した変換係数を逆直交変換部514に供給する。
 逆直交変換部514は、復号部512から供給される復号パラメータに基づいて、逆量子化部513から供給される変換係数に対して逆直交変換処理を行い、残差データを生成する。なお、この逆直交変換は、直交変換部313による直交変換の逆処理として行われる。つまり、この逆直交変換は、逆直交変換部318による逆直交変換と同様の処理である。逆直交変換部514は、生成した残差データを演算部515に供給する。
 演算部515は、逆直交変換部514から供給される残差データと、予測部519から供給される予測画像とを加算し、局所復号画像を生成する。演算部515は、生成した局所復号画像を、インループフィルタ部516およびフレームメモリ518に供給する。
 インループフィルタ部516は、復号部512から供給される復号パラメータに基づいて、演算部515から供給される局所復号画像に対して適宜フィルタ処理を行う。なお、インループフィルタ部516が行うフィルタ処理は任意である。例えば、デブロッキングフィルタ(DBF(DeBlocking Filter))や、適応オフセットフィルタ(SAO(Sample Adaptive Offset))等が行われるようにしてもよい。これらの内、複数のフィルタ処理が行われるようにしてもよい。インループフィルタ部516は、フィルタ処理された局所復号画像を並べ替えバッファ517およびフレームメモリ518に供給する。
 並べ替えバッファ517は、インループフィルタ部516から供給された局所復号画像を保持(記憶)する。並べ替えバッファ517は、その局所復号画像を用いてピクチャ単位毎の復号画像を再構築し、保持する(バッファ内に格納する)。並べ替えバッファ517は、得られた復号画像を、復号順から再生順に並べ替える。並べ替えバッファ517は、並べ替えた復号画像群を動画像データとして動画像復号部500の外部に出力する。
 フレームメモリ518は、演算部515より供給される局所復号画像からピクチャ単位毎の復号画像を再構築して、フレームメモリ518内のバッファへ格納する。また、フレームメモリ518は、インループフィルタ部516から供給される、インループフィルタ処理された局所復号画像から、ピクチャ単位毎の復号画像を再構築して、フレームメモリ518内のバッファへ格納する。フレームメモリ518は、適宜、その記憶している復号画像(またはその一部)を参照画像として予測部519に供給する。なお、フレームメモリ518が、復号画像の生成にかかる復号パラメータを記憶するようにしても良い。
 予測部519は、復号部512から供給される復号パラメータによって指定される予測方法により予測を行い、予測画像を生成する。その際、予測部519は、その復号パラメータによって指定される、フレームメモリ518に格納されたフィルタ前またはフィルタ後の復号画像(またはその一部)を、参照画像として利用する。予測部519は、生成した予測画像を、演算部515に供給する。
 以上のような構成の動画像復号部500において、復号部512は、符号化側から伝送された復号パラメータ(符号化パラメータ)を抽出し、その復号パラメータを用いて動画符号化データを復号する。また、復号部512は、その復号パラメータを他の処理部(例えば、逆量子化部513、逆直交変換部514、インループフィルタ部516、予測部519等)に供給し、それらの処理部は、その復号パラメータを用いてそれぞれの処理を行う。つまり、動画像復号部500は、復号パラメータを用いて復号を行う。つまり、動画像復号部500は、位置情報に基づいて符号化された撮像画像群を正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
  <動画像復号処理の流れ>
 図13のフローチャートを参照して、このような復号を行う際に動画像復号部500が実行する動画像復号処理の流れの例を説明する。
 動画像復号処理が開始されると、蓄積バッファ511は、ステップS171において、動画像復号部500の外部から供給される動画符号化データ(ビットストリーム)を取得して保持する(蓄積する)。
 ステップS172において、復号部512は、その動画符号化データ(ビットストリーム)を復号し、量子化変換係数を生成する。また、復号部512は、この復号により、符号化データ(ビットストリーム)から各種復号パラメータ(符号化パラメータ)をパースする(解析して取得する)。
 ステップS173において、逆量子化部513は、ステップS172の処理により生成された量子化変換係数に対して、符号化側で行われた量子化の逆処理である逆量子化を行い、変換係数を生成する。
 ステップS174において、逆直交変換部514は、ステップS173の処理により生成された変換係数に対して、符号化側で行われた直交変換処理の逆処理である逆直交変換処理を行い、残差データを生成する。
 ステップS175において、予測部519は、ステップS172においてパースされた復号パラメータに基づいて、符号化側より指定される予測方法で予測処理を実行し、予測画像を生成する。
 ステップS176において、演算部515は、ステップS174の処理により生成された残差データと、ステップS175の処理により生成された予測画像とを加算し、局所復号画像を生成する。
 ステップS177において、インループフィルタ部516は、ステップS176の処理により生成された局所復号画像に対して、インループフィルタ処理を行う。
 ステップS178において、並べ替えバッファ517は、ステップS177の処理によりフィルタ処理された局所復号画像を用いて復号画像を生成し、その復号画像群の順序を復号順から再生順に並べ替える。再生順に並べ替えられた復号画像群は、動画像として動画像復号部500の外部に出力される。
 また、ステップS179において、フレームメモリ518は、ステップS176の処理により生成された局所復号画像、および、ステップS177の処理によりフィルタ処理された局所復号画像の内、少なくとも一方を記憶する。
 ステップS179の処理が終了すると、画像復号処理が終了する。
 以上のように動画像復号処理を行うことにより、動画像復号部500は、符号化効率の低減を抑制することができる。
 以上のように、本技術は、HEVCに準拠した符号化方式を利用して撮像画像を符号化する場合や、その符号化により生成された符号化データを、HEVCに準拠した復号方式を利用して復号する場合にも適用することができる。もちろん、例えばAVCやMPEG等、任意の他の符号化・復号方式の場合も基本的に同様に本技術を適用することができる。
  <方法#1-1>
 次に方法#1-1について説明する。図1を参照して説明したように、撮像画像を動画像用の符号化方式で符号化する際に、位置情報に基づいて参照フレームを設定するようにしてもよい(方法#1-1)。
 飛行体101は、被写体領域110を撮像するため、一般的に、位置がより近い撮像画像同士の方が、相関性が高い。したがって、動画像符号化部204が、撮像画像の撮像順をフレーム順(再生順)とする場合、フレーム番号が遠い撮像画像同士も、互いの位置が近く相関性が高くなる場合がある。
 例えば、図14に示される例のように、飛行体101が矢印のように移動しながら撮像を行い、・・・、フレーム番号98(frame98)乃至フレーム番号101(frame101)、・・・、フレーム番号120(frame120)、フレーム番号121(frame121)、・・・のように、フレーム画像が得られるとする。この場合、フレーム番号121の撮像画像は、フレーム番号120だけでなく、フレーム番号101の撮像画像とも位置が近く、相関性が高い。
 そこで動画像符号化部204は、各撮像画像の位置情報に基づいて、フレーム番号121をカレントフレーム(処理対象)とする場合、フレーム番号120だけでなくフレーム番号101も参照先(参照フレーム)として選択する。
 例えば、図15に示されるように、フレーム番号121の撮像画像の白地で示される部分領域は、フレーム番号120の撮像画像と重複する領域であり、フレーム番号120の撮像画像と相関性が高い。そこで、この部分領域は、フレーム番号120を参照フレームとしてインター符号化を行う。
 また、図15の例において、フレーム番号121の撮像画像の点線より左側の部分領域は、フレーム番号101の撮像画像と重複する領域であり、フレーム番号101の撮像画像と相関性が高い。そこで、その部分領域の内、フレーム番号120を参照フレームとしなかった部分、すなわち、フレーム番号121の撮像画像の薄いグレーで示される部分領域は、フレーム番号101を参照フレームとしてインター符号化を行う。
 なお、これらのフレームとの相関性が低い部分領域(図中、濃いグレーで示される部分領域)は、イントラ符号化を行う。
 つまり、カレントフレームと重畳する領域が大きいフレームから順に参照先として設定する。このように、位置情報に基づいて参照フレームの設定(選択)を行うことにより、例えば、フレーム番号121の撮像画像全体を、フレーム番号120を参照フレームとしてインター符号化する場合よりも、相関性の高いフレームを参照フレームとしてインター符号化することができる。したがって符号化効率の低減を抑制することができる。
 また、例えば、フレーム番号121の白地の部分領域を、フレーム番号120を参照フレームとしてインター符号化し、その他の部分領域をイントラ符号化する場合よりも、より多くの領域をインター符号化することができるので、符号化効率の低減を抑制することができる。
 図5の例の場合、動き予測部212が、位置情報に基づいて参照フレームの設定を行う。例えば、動き予測部212は、ステップS125(図8)において動き予測を行う際に、参照フレーム選択処理を行い、上述のように位置情報に基づいて参照フレームを設定する。
  <参照フレーム選択処理の流れ>
 その参照フレーム選択処理の流れの例を、図16のフローチャートを参照して説明する。参照フレーム選択処理が開始されると、動き予測部212は、ステップS201において、位置情報に基づいて、カレントフレームの位置を求める。
 ステップS202において、動き予測部212は、位置情報に基づいて、カレントフレームと撮像画像が重畳する符号化済みフレームが存在するか否かを判定する。存在すると判定された場合、処理はステップS203に進む。
 ステップS203において、動き予測部212は、カレントフレームと重畳する面積が最大の符号化済みフレームを参照先として選択する。
 ステップS204において、動き予測部212は、次の参照フレームの設定のために、カレントフレームの撮像画像からその重畳部分を削除する。
 ステップS205において、動き予測部212は、設定した参照フレームの数が最大数に達したか否かを判定する。この参照フレーム数の最大値は任意である。例えば、2フレームであってもよいし、それ以外であってもよい。参照フレーム数が最大値に達していないと判定された場合、処理はステップS202に戻る。
 カレントフレームに重畳する符号化済みフレームが存在する場合、参照フレーム数が最大値に達するまで、このようにステップS202乃至ステップS205の処理が繰り返される。そして、ステップS205において、参照フレーム数が最大値に達したと判定された場合、参照フレーム選択処理が終了する。
 また、ステップS202において、カレントフレームと重畳する符号化済みフレームが存在しないと判定された場合、参照フレーム選択処理が終了する。
 以上のようにして参照フレームが設定されたカレントフレームの部分領域は、その参照フレームを用いてインター符号化が行われる。また、カレントフレームの、参照フレームが設定されなかった部分領域は、イントラ符号化が行われる。
 以上のように参照フレーム選択処理を行うことにより、動画像符号化部204は、位置情報に基づいて、相関性のより高い符号化済みフレームを参照先として設定することができ、符号化効率の低減を抑制することができる。
 なお、例えば図9および図10の場合、制御部301が、ステップS142において、上述の参照フレーム選択処理を行い、位置情報に基づいて、カレントフレームと重畳する面積が大きい順に参照フレームを設定する。予測部322は、ステップS144において、以上のように設定された参照フレームを用いてインター予測を行ったり、イントラ予測を行ったりする。したがって、この場合も、符号化効率の低減を抑制することができる。
  <方法#1-2>
 次に方法#1-2について説明する。図1を参照して説明したように、撮像画像を動画像用の符号化方式で符号化する際に、位置情報に基づいて動きベクトルを算出するようにしてもよい(方法#1-2)。
 上述のように飛行体は移動しながら撮像を行うので、撮像画像間の動きと飛行体の動き(カメラの動き等も含む)との相関性が高い。つまり、位置情報(飛行体の移動量)を考慮して動きベクトルの算出を行うことにより、より効率よく動きベクトルを算出することができる。例えば、動きベクトルが大きい場合、サーチレンジが大きくなりMEに計算コストがかかるが、概算値があればサーチレンジを小さくすることができる。また、ベクトルの暴れ(ばらつき)を低減させることができる。そこで、その動きベクトルの概算値を、位置情報を用いて求めるようにする。
  <疑似高さ情報を用いない方法>
 例えば、図17に示されるように、地面630に木631および木632のように立体構造物が存在するとする。これらの木の高さを考慮しない場合、過去の位置情報(GPS情報、IMU情報、撮像制御情報等)と現在の位置情報(GPS情報、IMU情報、撮像制御情報等)とを用いて飛行体101の移動量を算出することができる。この移動量から動きベクトル(固定分)の候補をもとめ、それを中心にリファインすることでより効率よく動きベクトルを求めることができる。
 図5の例の場合、動き予測部212が、このように位置情報に基づいて動きベクトルを算出する。例えば、動き予測部212は、ステップS125(図8)において動き予測を行う際に、動きベクトル算出処理を行い、上述のように位置情報に基づいて動きベクトルを算出する。
  <動きベクトル算出処理の流れ>
 その動きベクトル算出処理の流れの例を、図18のフローチャートを参照して説明する。動きベクトル算出処理が開始されると、動き予測部212は、ステップS221において、位置情報および過去の動き予測結果から飛行体101の移動量を求める。
 ステップS222において、動き予測部212は、その移動量に基づいて、動きベクトルの候補(概算値)を求める。
 ステップS223において、動き予測部212は、その動きベクトルの候補を中心としてブロックマッチングによるリファインメントを行い、動きベクトルを設定する。
 ステップS223の処理が終了すると動きベクトル算出処理が終了する。
 以上のように動きベクトル算出処理を行うことにより、動画像符号化部204は、位置情報に基づいて、より効率よく動きベクトルを算出することができ、符号化の負荷の増大や、符号化効率の低減を抑制することができる。
 なお、例えば図9および図10の場合、制御部301が、ステップS142において、上述の動きベクトル算出処理(図18)のステップS221およびステップS222の処理を行い、予測部322が、ステップS144において、上述の動きベクトル算出処理(図18)のステップS223の処理を行う。したがって、この場合も、符号化の負荷の増大や、符号化効率の低減を抑制することができる。
  <疑似高さ情報を用いる方法>
 例えば、図17の例において、木631や木632の高さを考慮する場合、複数の過去のフレームから動きベクトル(固定分)以外の成分(比例分)を算出することができる。この比例分は疑似的な高さ情報を表しているので、これを用いて現在の比例分を算出し、固定分と加算することで動きベクトルの概算値を求め、それを中心にリファインすることでより効率よく動きベクトルを求めることができる。
 図5の例の場合、動き予測部212が、このように位置情報に基づいて動きベクトルを算出する。例えば、動き予測部212は、ステップS125(図8)において動き予測を行う際に、動きベクトル算出処理を行い、上述のように位置情報に基づいて動きベクトルを算出する。
  <動きベクトル算出処理の流れ>
 その動きベクトル算出処理の流れの例を、図19のフローチャートを参照して説明する。動きベクトル算出処理が開始されると、動き予測部212は、ステップS241において、位置情報および過去の動き予測結果から飛行体101の移動量(固定分)を求める。
 ステップS242において、動き予測部212は、その移動量に基づいて、対応する疑似高さ情報(比例分)の係数を取得する。
 ステップS243において、動き予測部212は、移動量(固定分)および疑似高さ情報(比例分)に基づいて動きベクトルの候補(概算値)を求める。
 ステップS244において、動き予測部212は、その動きベクトルの候補を中心としてブロックマッチングによるリファインメントを行い、動きベクトルを設定する。
 ステップS244の処理が終了すると動きベクトル算出処理が終了する。
 以上のように動きベクトル算出処理を行うことにより、動画像符号化部204は、位置情報に基づいて、より効率よく動きベクトルを算出することができ、符号化の負荷の増大や、符号化効率の低減を抑制することができる。
 なお、例えば図9および図10の場合、制御部301が、ステップS142において、上述の動きベクトル算出処理(図19)のステップS241乃至ステップS243の処理を行い、予測部322が、ステップS144において、上述の動きベクトル算出処理(図19)のステップS244の処理を行う。したがって、この場合も、符号化の負荷の増大や、符号化効率の低減を抑制することができる。
  <方法#1-3>
 図1を参照して説明したように、位置情報に基づいて符号化に用いられる符号化パラメータを求めるようにしてもよい。例えば方法#1-3のように、位置情報に基づいてGOP構造を設定するようにしてもよい。
 上述のように飛行体101は移動しながら撮像を行うので、撮像画像間の相関性は、飛行体の動き(カメラの動き等も含む)に依存する。つまり、飛行体101の動き(移動量)に応じて、適切なGOP構造が変化する可能性がある。
 例えば、飛行体の動きが小さい場合、撮像画像間の相関性は高くなるので、図20のAに示されるような、前方予測および後方予測を用いるGOP構造を適用することにより、フレーム間の相関性の高さを利用することができ、図20のBに示される前方予測のみを用いるGOP構造の場合よりも符号化効率の低減を抑制することができる。
 これに対して、飛行体の動きが大きい場合、撮像画像間の相関性は低くなるため、フレーム間の相関性を利用しても符号化効率を向上させにくくなる。また、図20のAの例のGOP構造は、図20のBの例のGOP構造よりも複雑であるため、符号化処理の負荷が増大する可能性がある。つまり、符号化効率が向上しないのに、負荷が増大する可能性がある。
 そこで、例えば、図20のBに示されるような、前方予測のみを用いるGOP構造を適用する。このようなGOP構造は、図20のAの例のGOP構造よりも単純であり、符号化処理の負荷の増大を抑制することができる。
 以上のように、位置情報(から求まる飛行体101の動き(移動量))に応じて、より適切なGOP構造を設定することにより、符号化効率の低減を抑制したり、符号化処理の負荷の増大を抑制したりすることができる。
 図5の例の場合、符号化部213が、位置情報に基づいてGOP構造の設定を行う。例えば、符号化部213は、ステップS126(図8)において符号化パラメータを設定する際に、GOP構造設定処理を行い、上述のように位置情報に基づいてGOP構造を設定する。
  <GOP構造設定処理の流れ>
 そのGOP構造設定処理の流れの例を、図21のフローチャートを参照して説明する。GOP構造設定処理が開始されると、符号化部213は、ステップS261において、位置情報および動き予測結果に基づいて、飛行体101の移動量を算出する。
 ステップS262において、符号化部213は、その移動量が所定の閾値以下であるか否かを判定する。飛行体101の移動量が閾値以下であると判定された場合、処理はステップS263に進む。
 ステップS263において、符号化部213は、PピクチャまたはIピクチャの繰返し周期(間隔)を示すパラメータMを3に設定する。つまり、符号化部213は、図20のAの例のような、前方予測および後方予測を用いるGOP構造を選択する。ステップS263の処理が終了すると、GOP構造設定処理が終了する。
 また、ステップS262において、飛行体101の移動量が所定の閾値より大きいと判定された場合、処理はステップS264に進む。
 ステップS264において、符号化部213は、パラメータMを1に設定する。つまり、符号化部213は、図20のBの例のような、前方予測のみを用いるGOP構造を選択する。ステップS264の処理が終了すると、GOP構造設定処理が終了する。
 以上のようにGOP構造設定処理を行うことにより、動画像符号化部204は、位置情報に基づいて、より適切なGOP構造を選択することができ、符号化効率の低減を抑制したり、符号化処理の負荷の増大を抑制したりすることができる。
 なお、例えば図9および図10の場合、制御部301が、ステップS142において、上述のGOP構造設定処理(図21)の各ステップの処理を行う。したがって、この場合も、符号化効率の低減を抑制したり、符号化処理の負荷の増大を抑制したりすることができる。
  <方法#1-4>
 次に方法#1-4について説明する。図1を参照して説明したように、位置情報に基づいてレート制御を行うようにしてもよい(方法#1-4)。
 例えば、位置情報を用いて符号量を見積もり、その見積もりに従って設定した符号化パラメータを用いて符号化を行う(疑似2パスレート制御を行う)。例えば、図22に示されるように、各撮像画像のコンプレキシティ(=符号量×量子化ステップ)を求める。静止画と動画のコンプレキシティには相関が認められる。次に、位置情報を用いて飛行体101の移動量を算出し、その移動量をコンプレキシティに反映させる。一般的に、動きが大きいと動画のコンプレキシティは増加する傾向がある。そして、そのコンプレキシティから、トータルの符号量が所望の値となるように、量子化ステップを設定する。
 そしてその量子化ステップを用いて符号化を行う。このように、符号化パラメータとして、動画像の符号化において行われる量子化の量子化ステップを位置情報に基づいて設定し、その設定した量子化ステップを用いて再度符号化を行う疑似的な2パスのレート制御を行うことにより、より適切なレート制御を行うことができるので、符号化効率を向上させることができる。また、符号化処理の負荷の増大を抑制することができる。
 例えば、このような疑似2パスのレート制御を行わない場合、各処理は図23のAに示されるように行われる。これに対して、疑似的な2パスレート制御は、図23のBに示される斜線部分において行われる。
 図5の例の場合、符号化部213が、位置情報に基づいて疑似的な2パスレート制御を行う。例えば、符号化部213は、ステップS126(図8)において符号化パラメータを設定する際に、疑似2パスレート制御処理や符号化制御処理を行い、上述のように位置情報に基づいてレート制御を行う。
  <疑似2パスレート制御処理の流れ>
 その疑似2パスレート制御処理の流れの例を、図24のフローチャートを参照して説明する。疑似2パスレート制御処理が開始されると、符号化部213は、ステップS281において、静止画圧縮後の符号量と量子化ステップに基づいて、各フレームのコンプレキシティ(=符号量×量子化ステップ)を算出する。
 ステップS282において、符号化部213は、位置情報に基づいて飛行体101の移動量を推定し、各フレームのコンプレキシティに反映する。
 ステップS283において、符号化部213は、総符号量が所望の値になるような量子化ステップを、コンプレキシティに基づいて算出する。
 ステップS283の処理が終了すると疑似2パスレート制御処理が終了する。
  <符号化制御処理の流れ>
 次に、符号化制御処理の流れの例を、図25のフローチャートを参照して説明する。符号化制御処理が開始されると、符号化部213は、ステップS301において、疑似2パスレート制御処理において算出された量子化ステップを取得する。
 ステップS302において、符号化部213は、カレントフレームの1つ前のフレームまでの実際の符号量と予測符号量との乖離等に応じて、量子化ステップを補正する。
 ステップS303において、符号化部213は、補正後の量子化ステップを用いてカレントフレームの符号化を行う。
 ステップS304において、符号化部213は、処理対象の動画像の全てのフレームを処理したか否かを判定する。未処理のフレームが存在すると判定された場合、処理はステップS301に戻る。
 以上のように、全てのフレームが処理されるまで、ステップS301乃至ステップS304の処理が繰り返される。そして、ステップS304において全てのフレームが処理されたと判定された場合、符号化制御処理が終了する。
 以上のように各処理を行うことにより、動画像符号化部204は、位置情報に基づいて疑似2パスレート制御を実現することができ、符号化効率を向上させることができる。
 なお、例えば図9および図10の場合、制御部301が、疑似2パスレート制御処理の各ステップの処理、並びに、符号化制御処理のステップS301、ステップS302、およびステップS304の各処理を行う。また、並べ替えバッファ311乃至レート制御部323が、動画像符号化処理として、ステップS303の処理を行う。したがって、この場合も、位置情報に基づいて疑似2パスレート制御を実現することができ、符号化効率の低減を抑制することができる。
  <方法#1-5>
 次に方法#1-5について説明する。図1を参照して説明したように、位置情報に基づいて撮像画像(フレーム)の取捨選択を行うようにしてもよい(方法#1-5)。
 飛行体の移動(各撮像の撮像範囲)は安定しておらず、例えば風等の外的要因により意図しない撮像範囲を撮像してしまうこともあり得る。例えば、図26の例のように、フレーム番号98乃至フレーム番号101の撮像画像が得られた場合、フレーム番号100(frame100)の撮像画像(グレー)は、その位置情報が他のフレーム画像(撮像画像)の位置情報と大きく異なっている。なお、図中、この位置情報のGPS情報、IMU情報、および撮像制御情報(カメラ角度)がzを用いて表現され、他の撮像画像の位置情報のGPS情報、IMU情報、および撮像制御情報(カメラ角度)がxを用いて表現されているのは、フレーム番号100の位置情報が他のフレームの位置情報と大きく異なることを示している(xやzが特定の値を示している訳ではない)。
 このような意図しない範囲の撮像画像は、利用価値がなく不要である可能性が高い。換言するに、そのような撮像画像を削除しても差し支えない(例えば、不都合無く3次元地図情報を生成することができる)。そこで、そのような不要な撮像画像であるか否かを、位置情報(すなわち撮像範囲)に基づいて判定し、不要な撮像画像を削除して符号化する。例えば、図26の場合、フレーム番号100の撮像画像が削除される。
 このようにすることにより、符号化効率の低減を抑制することができる。
 図5の例の場合、符号化部213が、このようなフレーム画像の取捨選択を行う。例えば、符号化部213は、ステップS124(図8)において、フレームメモリ211に記憶された撮像画像群に対して、フレーム選択処理を行い、上述のような位置情報に基づくフレーム選択を行う。
  <フレーム選択処理の流れ>
 そのフレーム選択処理の流れの例を、図27のフローチャートを参照して説明する。フレーム選択処理が開始されると、符号化部213は、ステップS321において、位置情報および動き予測結果に基づいて飛行体101の移動量を算出する。
 ステップS322において、符号化部213は、その移動量が所定の閾値より大きいか否かを判定する。移動量が所定の閾値より大きいと判定された場合、符号化部213は、カレントフレームの撮像画像を削除する(符号化対象から除外する)。
 ステップS323の処理が終了すると処理はステップS324に進む。また、ステップS322において、移動量が所定の閾値以下であると判定された場合、ステップS323の処理が省略され(カレントフレームの撮像画像を削除せずに)、処理はステップS324に進む。
 ステップS324において、符号化部213は、符号化対象の動画像の全てのフレームを処理したか否かを判定する。その動画像に未処理のフレームが存在すると判定された場合、処理はステップS321に戻る。つまり、全てのフレームが処理されるまで、ステップS321乃至ステップS324の各処理が繰り返し実行される。そして、ステップS324において全てのフレームが処理されたと判定された場合、フレーム選択処理が終了する。
 このようにフレーム選択処理を行うことにより、符号化効率の低減を抑制することができる。
 なお、例えば図9および図10の場合、制御部301が、ステップS142において、フレーム選択処理の各ステップの処理を行う。したがって、この場合も、位置情報に基づいて不要な撮像画像を削除することができ、符号化効率の低減を抑制することができる。
  <方法#1-6>
 次に方法#1-6について説明する。図1を参照して説明したように、位置情報をユーザデータとして動画符号化データに付加する(関連付ける)ようにしてもよい(方法#1-6)。このようにすることにより、動画符号化データを復号して復元した撮像画像を処理する際に、その位置情報を利用することができる。例えば、地図情報を生成する際に、各撮像画像の位置情報用いることができ、より効率よく処理を行うことができる。
 図5の例の場合、符号化部213が、位置情報をユーザデータとして動画符号化データに付加する。例えば、符号化部213は、ステップS127(図8)において、ユーザデータ処理を行い、位置情報を動画符号化データに付加する(関連付ける)。
  <ユーザデータ処理の流れ>
 そのユーザデータ処理の流れの例を、図28のフローチャートを参照して説明する。ユーザデータ処理が開始されると、符号化部213は、ステップS341において、位置情報を含むユーザデータ(例えばSEI(Supplemental Enhancement Information))を生成する。
 ステップS342において、符号化部213は、生成したユーザデータを、動画符号化データに含める。ステップS342の処理が終了するとユーザデータ処理が終了する。
 このようにユーザデータ処理を行うことにより、動画符号化データを復号して復元した撮像画像を処理する際に、その位置情報を利用することができる。
 なお、例えば図9および図10の場合、制御部301が、ステップS142において、ユーザデータ処理のステップS341の処理を行う。また、符号化部315が、ステップS153において、ユーザデータ処理のステップS342の処理を行う。したがって、この場合も、位置情報を動画符号化データに付加することができ、その動画符号化データを復号して復元した撮像画像を処理する際に、その位置情報を利用することができる。
 <4.第2の実施の形態>
  <方法#2>
 次に方法#2について説明する。図1を参照して説明したように、トランスコードの際に、複数移動体のそれぞれにおいて生成された撮像画像を、位置情報に基づいて並べ替え、並べ替えた撮像画像群を1本の動画像として、動画像用の符号化方式で符号化し動画符号化データを生成するようにしてもよい(方法#2)。このようにすることにより、生成した飛行体101が異なる撮像画像を参照することができるので、より符号化効率を向上させることができる。
  <画像処理システム>
 この場合の画像処理システム100は、図29に示されるように、2台の飛行体101(飛行体101-1および飛行体101-2)を備える。この場合、被写体領域110を、これらの飛行体101-1および飛行体101-2が分担して撮像する。例えば、飛行体101-1は、図30の太線矢印のように飛行しながら撮像を行い、・・・、A-frame98乃至A-frame101、・・・、A-frame120乃至A-frame123、・・・のように各撮像画像を生成する。また、飛行体101-2は、図30の細線矢印のように飛行しながら撮像を行い、・・・、B-frame98乃至B-frame101、・・・、B-frame120乃至B-frame123、・・・のように各撮像画像を生成する。
 つまり、この場合、飛行体101-1が撮像した撮像画像の列と、飛行体101-2が撮像した撮像画像の列とが交互に並ぶ。したがって、飛行体101-1が撮像した撮像画像と飛行体101-2が撮像した撮像画像との間においても互いの位置が近い組み合わせが存在する。つまり、相関性が高い組み合わせが存在する。したがって、両飛行体101が撮像した撮像画像をまとめて1本の動画像として符号化することにより、このような相関性を利用して符号化を行うことができるので、各飛行体101が生成した撮像画像をそれぞれ符号化する場合よりも、符号化効率の低減を抑制することができる。
 例えば、図30の各飛行体101が撮像した撮像画像を、図中点線矢印で示されるような整列順に並べ替えてまとめると、図31の例の点線矢印のような順序の1本の動画像とすることができる。
 例えば、1台の飛行体101で撮像を行うと図32のAのように処理時間がかかるとすると、2台の飛行体101で撮像を行った場合、図32のBに示されるように、撮像の時間を約半分にすることができる。したがって、図中点線部分のように、両飛行体101が撮像した撮像画像をその位置情報に基づいて1本の動画像にまとめる処理を行ったとしても、図32のAの場合よりも処理時間を短縮することができる。したがって、3次元地図情報の生成、提供、および利用を、より早く行うことができる。
  <変換転送処理の流れ>
 各飛行体101の飛行(撮像)が終了し、各飛行体101が地上局102と通信可能に接続されると、地上局102は、変換転送処理を実行する。地上局102により実行される、この場合の変換転送処理の流れの例を、図33のフローチャートを参照して説明する。
 変換転送処理が開始されると、地上局102は、各飛行体101について、ステップS401乃至ステップS404の各処理を、ステップS121乃至ステップS124の各処理と同様に実行する。
 ステップS405において、地上局102は、全ての飛行体101について、これらの処理を行ったか否かを判定する。未処理の飛行体101が存在する場合、処理はステップS401に戻る。つまり、ステップS401乃至ステップS405の各処理が、各飛行体101について実行される。そして、ステップS405において全ての飛行体について処理が行われたと判定された場合、処理はステップS406に進む。
 ステップS406において、符号化部213は、フレームメモリ211に記憶された、各飛行体101において生成された撮像画像を、それらの位置情報を用いて並べ替えて1本の動画像とする。
 ステップS407乃至ステップS410の各処理は、ステップS406において生成された1本の動画像に対して、ステップS125乃至ステップS128の各処理と同様に実行される。
 ステップS410が終了すると、変換転送処理が終了する。
 以上のように各処理を実行することにより、符号化効率の低減を抑制することができる。
 なお、例えば図9および図10の場合、制御部301が、変換転送処理のステップS406乃至ステップS408の各処理を、図10の動画像符号化処理のステップS142において行い、変換転送処理のステップS409の処理として、図10の動画像符号化処理のステップS143乃至ステップS154を行えば良い。したがって、この場合も、符号化効率の低減を抑制することができる。
 以上においては、飛行体101が2台の場合を例に説明したが、飛行体の台数は任意である。例えば、飛行体101が3台以上であってもよいし、1台でもよい。例えば、飛行体101が1台であっても、飛行経路が複雑であったり、撮像順が飛行経路に沿った順序でなかったりする場合も考えられる。そのような場合、位置情報に基づいて撮像画像の順序を並べ替えることにより、相関性の高い撮像画像を、順序が近いフレームとすることができ、符号化効率の低減を抑制することができる。
 つまり、符号化部213が、どの飛行体101がどの撮像画像を生成したかによらず、複数の撮像画像をその位置情報に基づいて並べ替え、並べ替えた複数の撮像画像を動画像として符号化するようにしてもよい。このようにすることにより、符号化効率の低減を抑制することができる。
 <5.第3の実施の形態>
  <方法#3>
 次に方法#3について説明する。図1を参照して説明したように、移動体において符号化データを送信するか記録するかを選択することができるようにしてもよい(方法#3)。このようにすることにより、静止画符号化データを記録するかまたは伝送するか(システム全体としては撮像画像をどのように伝送するか)を選択することができ、状況に応じてより適切な方法で撮像画像を伝送させることができる。
  <画像処理システム>
 つまり、図34に示されるように、飛行体101は、撮像画像(静止画符号化データ)をクラウド103に伝送するか、記憶部158に記憶した後地上局102に伝送するかを、状況等に応じて選択することができるようにする。
  <飛行体>
 その場合の飛行体101の主な構成例を、図35に示す。図35に示されるように、この場合の飛行体101も、第1の実施の形態の場合(図3)と基本的に同様の構成を有する。ただし、この場合の飛行体101は、選択部811および送信部812をさらに有する。
 情報付加部157は、生成した画像ファイルを選択部811に供給する。選択部811は、任意の情報または任意の指示や制御等に基づいて、その画像ファイルを、記憶部158に供給するか、送信部812に供給するかを選択する。例えば、選択部811は、通信環境に応じてこの選択を行う。例えば、通信帯域が十分に広い場合、選択部811は、画像ファイルを送信部812に供給する。
 送信部812は、任意のネットワークインタフェースを有し、そのネットワークインタフェースを介して、選択部811から供給される画像ファイルをクラウド103に送信する。
 また、通信帯域が十分に広くない場合、選択部811は、画像ファイルを記憶部158に供給する。この場合、撮像画像(静止画符号化データ)は、第1の実施の形態と同様に記憶部158に記憶されて地上局102に伝送される。
 以上のように、画像処理システム100は、状況に応じてより適切な方法で撮像画像を伝送させることができる。
  <撮像処理の流れ>
 この場合の飛行体101が実行する撮像処理の流れの例を、図36のフローチャートを参照して説明する。
 ステップS501乃至ステップS505の各処理は、ステップS101乃至ステップS105の各処理(図7)と同様に実行される。
 ステップS506において、選択部811は、通信環境(通信帯域幅)等に基づいて、画像ファイルを送信可能であるか否かを判定する。送信可能であると判定された場合、処理はステップS507に進む。
 ステップS507において、送信部812は、その画像ファイルを例えばクラウド103に送信する。ステップS507の処理が終了すると撮像処理が終了する。この場合、地上局102による変換転送処理が省略される。
 また、ステップS506において、送信不可能であると判定された場合、処理はステップS508に進む。ステップS508において、記憶部158は、その画像ファイルを記憶する。ステップS508の処理が終了すると撮像処理が終了する。この場合、地上局102は、第1の実施の形態において説明したように、変換転送処理を行う。
 以上のように撮像処理を行うことにより、飛行体101は、状況に応じてより適切な方法で撮像画像を伝送させることができる。
 <6.付記>
  <符号化方式とトランスコード>
 以上においては、飛行体101(移動体)が撮像画像を静止画像用の符号化方式で符号化し、地上局102がその静止画符号化データを動画符号化データにトランスコードする(動画像用の符号化方式で再符号化する)ように説明したが、飛行体101や地上局102に適用される符号化方式は任意であり、この例に限定されない。例えば、飛行体101が撮像画像を動画像用の符号化方式で符号化して動画符号化データを生成し、地上局102が、それを他の動画像用の符号化方式にトランスコードするようにしてもよい。また例えば、地上局102が静止画符号化データをトランスコードして生成した動画符号化データを再度トランスコードして、他の動画像用の符号化方式の動画符号化データに変換するようにしてもよい。さらに例えば、地上局102が、飛行体101により生成された静止画符号化データをトランスコードして、他の静止画像用の符号化方式の静止画符号化データに変換するようにしてもよい。
 つまり、地上局102がトランスコードする符号化データ(地上局102に入力される符号化データ)の符号化方式は任意であり、静止画像用の符号化方式であってもよいし、動画像用の符号化方式であってもよい。換言するに、復号部203が復号する符号化データの符号化方式は任意であり、静止画像用の符号化方式であってもよいし、動画像用の符号化方式であってもよい。つまり復号部203が行う復号の復号方式は、任意であり、静止画像用の復号方式であってもよいし、動画像用の復号方式であってもよい。
 また、地上局102がトランスコードして生成する符号化データ(地上局102から出力される符号化データ)の符号化方式は任意であり、静止画像用の符号化方式であってもよいし、動画像用の符号化方式であってもよい。換言するに、動画像符号化部204(符号化部213)が符号化して生成する符号化データの符号化方式(つまり動画像符号化部204(符号化部213)が行う符号化の符号化方式)は任意であり、静止画像用の符号化方式であってもよいし、動画像用の符号化方式であってもよい。
 また、以上においては、地上局102がトランスコードを行って符号化方式を変換するように説明したが、このトランスコードは、符号化データを復号して再度符号化することにより何らかのパラメータを変換するものであればどのようなものであってもよい。例えば、地上局102が、符号化データを復号・再符号化してレートを変更する(トランスコードとしてトランスレートを行う)ようにしてもよい。
 また、地上局102が行うトランスコードにおける復号・符号化は、方式やパラメータ等の所望の事項の変換に必要な処理が行われればよく、画像データを完全に復元しなくてもよい。例えば、地上局102が、符号化データの復号を一部のみ行って(複数の処理からなる復号処理の内の一部の処理のみを行って)、直交変換係数等の係数データを復元し、その係数データを再符号化して(複数の処理からなる符号化処理の内の一部の処理のみを行って)符号化データを生成するようにしてもよい。このように複数の処理からなる復号・符号化の必要な処理のみを行うようにすることにより、トランスコードに伴う処理の負荷の増大を抑制することができる。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図37は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図37に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 本技術は、任意の画像符号化・復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。
 本技術は、任意の装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等(すなわち、装置の一部の構成)として実施することもできる。
 さらに、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスに適用することもできる。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 また、例えば、本技術は、装置またはシステムを構成するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 撮像画像を、移動体が被写体を撮像し前記撮像画像を生成した位置を示す位置情報に基づいて符号化する符号化部
 を備える画像処理装置。
 (2) 前記位置情報は、前記移動体の位置を示すGPS(Global Positioning System)情報、前記移動体の動きを示すIMU(Inertial Measurement Unit)情報、および前記撮像画像の撮像方向を示す撮像制御情報の内、少なくともいずれか1つを含む
 (1)に記載の画像処理装置。
 (3) 前記符号化部は、前記撮像画像を動画像のフレーム画像として符号化する
 (1)または(2)に記載の画像処理装置。
 (4) 前記符号化部は、前記動画像の符号化において参照する参照フレームを前記位置情報に基づいて設定する
 (3)に記載の画像処理装置。
 (5) 前記符号化部は、前記動画像の符号化においてフレーム間予測を行い、動きベクトルを前記位置情報に基づいて設定する
 (3)または(4)に記載の画像処理装置。
 (6) 前記符号化部は、さらに符号化済みのフレームの動きベクトルに基づいて、カレントフレームの動きベクトルを設定する
 (5)に記載の画像処理装置。
 (7) 前記符号化部は、前記動画像の符号化に用いられる符号化パラメータを前記位置情報に基づいて設定する
 (3)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記符号化部は、前記符号化パラメータとして、GOP構造を前記位置情報に基づいて設定する
 (7)に記載の画像処理装置。
 (9) 前記符号化部は、前記符号化パラメータとして、前記動画像の符号化において行われる量子化の量子化ステップを前記位置情報に基づいて設定する
 (7)または(8)に記載の画像処理装置。
 (10) 前記符号化部は、符号化する撮像画像を前記位置情報に基づいて選択する
 (3)乃至(9)のいずれかに記載の画像処理装置。
 (11) 前記符号化部は、符号化して生成した符号化データに前記位置情報を付加する
 (3)乃至(10)のいずれかに記載の画像処理装置。
 (12) 前記撮像画像が所定の符号化方式で符号化された符号化データを、前記符号化方式に対応する復号方式で復号し、前記撮像画像を復元する復号部をさらに備え、
 前記符号化部は、前記復号部により復元された前記撮像画像を、前記符号化方式と異なる他の方式で、前記位置情報に基づいて符号化する
 (3)乃至(11)のいずれかに記載の画像処理装置。
 (13) 前記符号化データは、前記撮像画像が静止画像として1枚ずつ符号化されており、
 前記復号部は、複数の前記撮像画像のそれぞれの前記符号化データを復号し、
 前記符号化部は、復元された複数の前記撮像画像を動画像として符号化する
 (12)に記載の画像処理装置。
 (14) 前記位置情報は、Exifフォーマットにより前記符号化データに付加されている
 (13)に記載の画像処理装置。
 (15) 前記符号化部は、複数の前記撮像画像を前記位置情報に基づいて並べ替え、並べ替えた複数の前記撮像画像を動画像として符号化する
 (3)乃至(14)のいずれかに記載の画像処理装置。
 (16) 前記複数の撮像画像は、複数の前記移動体により生成された撮像画像である
 (15)に記載の画像処理装置。
 (17) 前記符号化部により生成された符号化データを他の装置に送信する送信部
 をさらに備える(1)乃至(16)のいずれかに記載の画像処理装置。
 (18) 前記符号化部により生成された前記符号化データを記録する記録部と、
 前記符号化データを、前記送信部を介して前記他の装置に送信するか、前記記録部に記録するかを、前記送信部の通信状況に応じて選択する選択部と
 をさらに備える(17)に記載の画像処理装置。
 (19) 前記移動体は飛行体である
 (1)乃至(18)のいずれかに記載の画像処理装置。
 (20) 撮像画像を、移動体が被写体を撮像し前記撮像画像を生成した位置を示す位置情報に基づいて符号化する
 画像処理方法。
 (21) 撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、前記撮像画像を生成した位置を示す位置情報に基づいてトランスコードするトランスコード部
 を備える画像処理装置。
 (22) 前記トランスコード部は、
  前記符号化データを復号して復号画像を生成する復号部と、
  前記復号により生成された復号画像を符号化する符号化部と
 を備える(21)に記載の画像処理装置。
 (23) 前記符号化データは、前記撮像画像が静止画像として1枚ずつ符号化されており、
  前記復号部は、複数の前記撮像画像のそれぞれの前記符号化データを復号して前記復号画像を生成し、
  前記符号化部は、前記復号部により生成された複数の前記復号画像を動画像として符号化する
 (22)に記載の画像処理装置。
 (24)  前記符号化部は、動画像のフレーム画像として符号化する
 (22)または(23)に記載の画像処理装置。
 (25)  前記符号化部は、前記動画像の符号化において参照する参照フレームを前記位置情報に基づいて設定する
 (24)に記載の画像処理装置。
 (26)  前記符号化部は、前記動画像の符号化においてフレーム間予測を行う際に用いる動きベクトルを前記位置情報に基づいて設定する
 (24)または(25)に記載の画像処理装置。
 (27)  前記符号化部は、符号化済みのフレームの動きベクトルに基づいて、カレントフレームの動きベクトルを設定する
 (26)に記載の画像処理装置。
 (28)  前記符号化部は、前記動画像の符号化に用いられる符号化パラメータを前記位置情報に基づいて設定する
 (24)乃至(27)のいずれかに記載の画像処理装置。
 (29)  前記符号化部は、前記符号化パラメータとして、GOP構造を前記位置情報に基づいて設定する
 (28)に記載の画像処理装置。
 (30)  前記符号化部は、前記符号化パラメータとして、前記動画像の符号化において行われる量子化の量子化ステップを前記位置情報に基づいて設定する
 (28)または(29)に記載の画像処理装置。
 (31)  前記符号化部は、符号化する撮像画像を前記位置情報に基づいて選択する
 (23)乃至(30)のいずれかに記載の画像処理装置。
 (32) 前記位置情報は、前記移動体の位置を示すGPS(Global Positioning System)情報、前記移動体の動きを示すIMU(Inertial Measurement Unit)情報、および前記撮像画像の撮像方向を示す撮像制御情報の内、少なくともいずれか1つを含む
 (21)乃至(31)のいずれかに記載の画像処理装置。
 (33) 前記符号化データと前記位置情報とは関連づけられている
 (21)乃至(32)のいずれかに記載の画像処理装置。
 (34) 前記位置情報は、Exifフォーマットにより前記符号化データに付加されている
 (33)に記載の画像処理装置。
 (35)  前記符号化部は、複数の前記復号画像を前記位置情報に基づいて並べ替え、並べ替えた複数の前記復号画像を動画像として符号化する
 (24)乃至(34)のいずれかに記載の画像処理装置。
 (36) 前記複数の撮像画像は、複数の前記移動体により生成された撮像画像である
 (35)に記載の画像処理装置。
 (37)  前記符号化部により生成された再符号化データを他の装置に送信する送信部
 をさらに備える(23)乃至(36)のいずれかに記載の画像処理装置。
 (38) 前記移動体は飛行体である
 (21)乃至(37)のいずれかに記載の画像処理装置。
 (39) 前記移動体は車である
 (21)乃至(38)のいずれかに記載の画像処理装置。
 (40) 撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、前記撮像画像を生成した位置を示す位置情報に基づいてトランスコードする
 画像処理方法。
 100 画像処理システム, 101 飛行体, 102 地上局, 103 クラウド, 104 端末装置, 110 被写体領域, 131 制御部, 151 飛行部, 152 IMU部, 153 GPS部, 154 撮像制御部, 155 撮像部, 156 符号化部, 157 情報付加部, 158 記憶部, 159 送信部, 201 受信部, 202 分離部, 203 復号部, 204 動画像符号化部, 205 送信部, 206 記憶部, 211 フレームメモリ, 212 動き予測部, 213 符号化部, 301 制御部, 311 並べ替えバッファ, 314 量子化部, 315 符号化部, 317 逆量子化部, 322 予測部, 811 選択部, 812 送信部

Claims (20)

  1.  撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、前記撮像画像を生成した位置を示す位置情報に基づいてトランスコードするトランスコード部
     を備える画像処理装置。
  2.  前記トランスコード部は、
      前記符号化データを復号して復号画像を生成する復号部と、
      前記復号により生成された復号画像を符号化する符号化部と
     を備える請求項1に記載の画像処理装置。
  3.  前記符号化データは、前記撮像画像が静止画像として1枚ずつ符号化されており、
      前記復号部は、複数の前記撮像画像のそれぞれの前記符号化データを復号して前記復号画像を生成し、
      前記符号化部は、前記復号部により生成された複数の前記復号画像を動画像として符号化する
     請求項2に記載の画像処理装置。
  4.   前記符号化部は、動画像のフレーム画像として符号化する
     請求項2に記載の画像処理装置。
  5.   前記符号化部は、前記動画像の符号化において参照する参照フレームを前記位置情報に基づいて設定する
     請求項4に記載の画像処理装置。
  6.   前記符号化部は、前記動画像の符号化においてフレーム間予測を行う際に用いる動きベクトルを前記位置情報に基づいて設定する
     請求項4に記載の画像処理装置。
  7.   前記符号化部は、符号化済みのフレームの動きベクトルに基づいて、カレントフレームの動きベクトルを設定する
     請求項6に記載の画像処理装置。
  8.   前記符号化部は、前記動画像の符号化に用いられる符号化パラメータを前記位置情報に基づいて設定する
     請求項4に記載の画像処理装置。
  9.   前記符号化部は、前記符号化パラメータとして、GOP構造を前記位置情報に基づいて設定する
     請求項8に記載の画像処理装置。
  10.   前記符号化部は、前記符号化パラメータとして、前記動画像の符号化において行われる量子化の量子化ステップを前記位置情報に基づいて設定する
     請求項8に記載の画像処理装置。
  11.   前記符号化部は、符号化する撮像画像を前記位置情報に基づいて選択する
     請求項3に記載の画像処理装置。
  12.  前記位置情報は、前記移動体の位置を示すGPS(Global Positioning System)情報、前記移動体の動きを示すIMU(Inertial Measurement Unit)情報、および前記撮像画像の撮像方向を示す撮像制御情報の内、少なくともいずれか1つを含む
     請求項1に記載の画像処理装置。
  13.  前記符号化データと前記位置情報とは関連づけられている
     請求項1に記載の画像処理装置。
  14.  前記位置情報は、Exifフォーマットにより前記符号化データに付加されている
     請求項13に記載の画像処理装置。
  15.   前記符号化部は、複数の前記復号画像を前記位置情報に基づいて並べ替え、並べ替えた複数の前記復号画像を動画像として符号化する
     請求項4に記載の画像処理装置。
  16.  前記複数の撮像画像は、複数の前記移動体により生成された撮像画像である
     請求項15に記載の画像処理装置。
  17.   前記符号化部により生成された再符号化データを他の装置に送信する送信部
     をさらに備える請求項3に記載の画像処理装置。
  18.  前記移動体は飛行体である
     請求項1に記載の画像処理装置。
  19.  前記移動体は車である
     請求項1に記載の画像処理装置。
  20.  撮像部を備える移動体により撮像された撮像画像が符号化された符号化データを、前記撮像画像を生成した位置を示す位置情報に基づいてトランスコードする
     画像処理方法。
PCT/JP2019/008003 2018-03-15 2019-03-01 画像処理装置および方法 WO2019176579A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020506391A JP7331831B2 (ja) 2018-03-15 2019-03-01 画像処理装置および方法
CN201980017966.7A CN111837393B (zh) 2018-03-15 2019-03-01 图像处理设备和方法
EP19767671.1A EP3767949A4 (en) 2018-03-15 2019-03-01 DEVICE AND METHOD FOR PROCESSING AN IMAGE
US16/978,934 US11202088B2 (en) 2018-03-15 2019-03-01 Image processing apparatus and method
KR1020207025488A KR20200128023A (ko) 2018-03-15 2019-03-01 화상 처리 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018047819 2018-03-15
JP2018-047819 2018-03-15

Publications (1)

Publication Number Publication Date
WO2019176579A1 true WO2019176579A1 (ja) 2019-09-19

Family

ID=67906664

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/008003 WO2019176579A1 (ja) 2018-03-15 2019-03-01 画像処理装置および方法

Country Status (5)

Country Link
US (1) US11202088B2 (ja)
EP (1) EP3767949A4 (ja)
JP (1) JP7331831B2 (ja)
KR (1) KR20200128023A (ja)
WO (1) WO2019176579A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095245A1 (ja) * 2019-11-15 2021-05-20 日本電信電話株式会社 画像処理方法、データ処理方法、画像処理装置、およびプログラム
JP2021087099A (ja) * 2019-11-27 2021-06-03 国立研究開発法人宇宙航空研究開発機構 動画像送信装置、動画像伝送システム、動画像送信方法、およびプログラム
WO2022138180A1 (ja) * 2020-12-23 2022-06-30 ソニーグループ株式会社 センサデバイスおよびそのデータ処理方法
WO2022138182A1 (ja) * 2020-12-23 2022-06-30 ソニーグループ株式会社 人工衛星および地上システム
WO2022252238A1 (zh) * 2021-06-04 2022-12-08 华为技术有限公司 3d地图的压缩、解压缩方法和装置
JP7405568B2 (ja) 2019-11-12 2023-12-26 Nttテクノクロス株式会社 符号化方法、復号方法、符号化装置、復号装置及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11710415B2 (en) * 2019-08-01 2023-07-25 Halkin Inc. Methods and devices for unmanned aerial vehicle based site inspection and scale rendered analysis

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008193495A (ja) * 2007-02-06 2008-08-21 Fujifilm Corp 動画再生装置、動画再生方法及び撮影装置
JP2013157787A (ja) * 2012-01-30 2013-08-15 Denso Corp 動画データ生成システム
WO2016069877A1 (en) 2014-10-29 2016-05-06 The Procter & Gamble Company Hair colouration, method and kit thereof
JP3208050U (ja) * 2016-07-05 2016-12-22 金次 早川 バルーン吊下げ型小型ドローン

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184785A (ja) * 2003-11-28 2005-07-07 Fuji Photo Film Co Ltd 画像再生装置及び画像再生方法
EP2179589A4 (en) * 2007-07-20 2010-12-01 Fujifilm Corp IMAGE PROCESSING DEVICE, IMAGE PROCESSING AND PROGRAM
DE102010030068A1 (de) 2010-06-15 2011-12-15 Bayerische Motoren Werke Aktiengesellschaft Verarbeitung von Bilddaten, die durch ein Fahrzeug aufgenommen werden
US9189884B2 (en) 2012-11-13 2015-11-17 Google Inc. Using video to encode assets for swivel/360-degree spinners
US20140219361A1 (en) * 2013-02-01 2014-08-07 Samplify Systems, Inc. Image data encoding for access by raster and by macroblock
TWI615834B (zh) * 2013-05-31 2018-02-21 Sony Corp 編碼裝置及方法、解碼裝置及方法、以及程式
US20150350653A1 (en) 2014-05-28 2015-12-03 Apple Inc. Image compression based on device orientation and location information
WO2016025479A1 (en) * 2014-08-11 2016-02-18 Browseplay, Inc. System and method for secure cross-platform video transmission
KR102037158B1 (ko) * 2014-08-20 2019-11-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 비디오 구성
US10136132B2 (en) * 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
JP6391694B2 (ja) * 2015-07-31 2018-09-19 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd ビデオ符号化方法及びシステム
CN109155838A (zh) * 2016-05-13 2019-01-04 深圳市大疆创新科技有限公司 用于通过转码呈现视频的系统和方法
CN106688233A (zh) * 2016-12-08 2017-05-17 深圳市大疆创新科技有限公司 用于传输图像的方法、设备和无人机

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008193495A (ja) * 2007-02-06 2008-08-21 Fujifilm Corp 動画再生装置、動画再生方法及び撮影装置
JP2013157787A (ja) * 2012-01-30 2013-08-15 Denso Corp 動画データ生成システム
WO2016069877A1 (en) 2014-10-29 2016-05-06 The Procter & Gamble Company Hair colouration, method and kit thereof
JP3208050U (ja) * 2016-07-05 2016-12-22 金次 早川 バルーン吊下げ型小型ドローン

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7405568B2 (ja) 2019-11-12 2023-12-26 Nttテクノクロス株式会社 符号化方法、復号方法、符号化装置、復号装置及びプログラム
WO2021095245A1 (ja) * 2019-11-15 2021-05-20 日本電信電話株式会社 画像処理方法、データ処理方法、画像処理装置、およびプログラム
JPWO2021095245A1 (ja) * 2019-11-15 2021-05-20
JP7356052B2 (ja) 2019-11-15 2023-10-04 日本電信電話株式会社 画像処理方法、データ処理方法、画像処理装置、およびプログラム
JP2021087099A (ja) * 2019-11-27 2021-06-03 国立研究開発法人宇宙航空研究開発機構 動画像送信装置、動画像伝送システム、動画像送信方法、およびプログラム
JP7382632B2 (ja) 2019-11-27 2023-11-17 国立研究開発法人宇宙航空研究開発機構 動画像送信装置、動画像伝送システム、動画像送信方法、およびプログラム
WO2022138180A1 (ja) * 2020-12-23 2022-06-30 ソニーグループ株式会社 センサデバイスおよびそのデータ処理方法
WO2022138182A1 (ja) * 2020-12-23 2022-06-30 ソニーグループ株式会社 人工衛星および地上システム
WO2022252238A1 (zh) * 2021-06-04 2022-12-08 华为技术有限公司 3d地图的压缩、解压缩方法和装置

Also Published As

Publication number Publication date
KR20200128023A (ko) 2020-11-11
US11202088B2 (en) 2021-12-14
EP3767949A1 (en) 2021-01-20
EP3767949A4 (en) 2021-01-20
CN111837393A (zh) 2020-10-27
JPWO2019176579A1 (ja) 2021-03-11
JP7331831B2 (ja) 2023-08-23
US20210051338A1 (en) 2021-02-18

Similar Documents

Publication Publication Date Title
JP7331831B2 (ja) 画像処理装置および方法
US20210058614A1 (en) Method of sensor-assisted rate control
US10911750B2 (en) System and methods for feedback-based data transmission
US10499085B1 (en) Image signal processing based encoding hints for bitrate control
US9807411B2 (en) Image coding apparatus, image decoding apparatus, image processing system, image coding method, and image decoding method
EP3207708B1 (en) Method and system of modifying search areas
US20200036944A1 (en) Method and system for video transmission
CN112771859A (zh) 基于感兴趣区域的视频数据编码方法、装置和存储介质
US20170127081A1 (en) Coding method using motion model information
US8866645B2 (en) Method and apparatus for compression of generalized sensor data
US8587651B2 (en) Surveillance system for transcoding surveillance image files while retaining image acquisition time metadata and associated methods
US8659662B2 (en) Surveillance system with target based scrolling and related methods
US20200177935A1 (en) Smart camera, image processing apparatus, and data communication method
CN111837393B (zh) 图像处理设备和方法
US20230230287A1 (en) Decoding methods, encoding method, decoding device, and encoding device
Angelino et al. Sensor aided h. 264 video encoder for uav applications
JP6781014B2 (ja) 画像生成方法、画像差異検出方法、画像生成装置及び画像生成プログラム
WO2022149589A1 (ja) 三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置
WO2020019279A1 (zh) 视频压缩的方法、装置、计算机系统和可移动设备
Angelino et al. A sensor aided H. 264 encoder tested on aerial imagery for SFM
CN110770756A (zh) 数据处理方法、设备以及无人机
Belyaev et al. Drone HDR infrared video coding via aerial map prediction
Barrios Alfaro et al. The Video Project Enabling RGB video processing and compression on-board satellites
JP6885392B2 (ja) データ符号化システム、データ符号化装置、データ符号化制御装置、データ符号化方法、データ符号化制御方法およびプログラム
WO2022059697A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19767671

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020506391

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019767671

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2019767671

Country of ref document: EP

Effective date: 20201015