WO2021177044A1 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- WO2021177044A1 WO2021177044A1 PCT/JP2021/006074 JP2021006074W WO2021177044A1 WO 2021177044 A1 WO2021177044 A1 WO 2021177044A1 JP 2021006074 W JP2021006074 W JP 2021006074W WO 2021177044 A1 WO2021177044 A1 WO 2021177044A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- tile
- size
- image size
- file
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims description 34
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 41
- 238000010586 diagram Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 22
- 230000003287 optical effect Effects 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 17
- 239000004973 liquid crystal related substance Substances 0.000 description 8
- UDYLZILYVRMCJW-UHFFFAOYSA-L disodium;oxido carbonate Chemical compound [Na+].[Na+].[O-]OC([O-])=O UDYLZILYVRMCJW-UHFFFAOYSA-L 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
- H04N21/8153—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
Definitions
- the present technology relates to an image processing device and an image processing method, and more particularly to an image processing device and an image processing method that enable a tile image having an appropriate image size to be obtained.
- HEIF High Efficiency Image File Format
- grid is defined as one of the item types.
- An image (item) whose item type is grid is formed by tiling one or more input images.
- An image whose item type is grid is also called a grid image, and an input image that forms a grid image is also called a tile image.
- HEIF stipulates that the image size of the tile images that form the grid image should be the same image size, but it does not stipulate what image size should be used.
- This technology was made in view of such a situation, and makes it possible to obtain a tile image with an appropriate image size.
- the first image processing device of the present technology is the image size of the tile image according to the target image size or the target bit rate of the tile image forming the grid image stored in the HEIF (High Efficiency Image File Format) file.
- HEIF High Efficiency Image File Format
- the first image processing method of the present technology is the image size of the tile image according to the target image size or the target bit rate of the tile image forming the grid image stored in the HEIF (High Efficiency Image File Format) file.
- HEIF High Efficiency Image File Format
- the above is performed according to the target image size or target bit rate of the tile image forming the grid image stored in the HEIF (High Efficiency Image File Format) file.
- the image size of the tile image is set, and the tile image of that image size is generated.
- the second image processing device of the present technology sets the image size of the tile image that forms the grid image stored in the HEIF (High Efficiency Image File Format) file according to the information from the outside, and the image size is set.
- This is an image processing device including an image processing unit that generates the tile image of the above.
- the second image processing method of the present technology is to set the image size of the tile image that forms the grid image stored in the HEIF (High Efficiency Image File Format) file according to the information from the outside, and then set the image size. It is an image processing method including generating the tile image of.
- HEIF High Efficiency Image File Format
- the image size of the tile image that forms the grid image stored in the HEIF (High Efficiency Image File Format) file is set according to the information from the outside. And the tile image of the image size is generated.
- HEIF High Efficiency Image File Format
- the image processing device may be an independent device or an internal block constituting one device.
- the image processing device can be realized by causing a computer to execute a program.
- the program can be provided by recording on a recording medium or transmitting through a transmission medium.
- the first of the four unedited HEIF files generated by the four cameras in the third use case and the new HEIF file generated from the four unedited HEIF files in the editing software It is a figure which shows an example.
- a second of four unedited HEIF files generated by the four cameras in the third use case and a new HEIF file generated from the four unedited HEIF files in the editing software It is a figure which shows an example.
- a fourth of the four unedited HEIF files generated by the four cameras in the third use case and the new HEIF file generated from the four unedited HEIF files in the editing software It is a figure which shows an example. It is a figure explaining the example of setting the image size of a tile image in the 4th use case. It is a figure explaining the example of setting the image size of a tile image in the 5th use case. It is a figure explaining the example of setting the image size of the tile image in the 6th use case. It is a block diagram which shows the structural example of the coding control unit 42. It is a flowchart explaining the example of processing of image processing unit 110.
- FIG. 1 is a block diagram showing a configuration example of an embodiment of a digital camera to which the present technology is applied.
- the digital camera 10 includes an optical system 11, an image sensor 12, a signal processing unit 13, media 14, I / F (Interface) 15 and 16, buttons / keys 17, touch panel 18, liquid crystal panel 19, viewfinder 20, and I. It has / F21 etc.
- the optical system 11 collects the light from the subject on the image sensor 12.
- the image sensor 12 receives light from the optical system 11 and performs photoelectric conversion to perform imaging to generate image data as an electric signal and supply it to the signal processing unit 13.
- the signal processing unit 13 includes an optical system / image sensor control unit 41, a coding control unit 42, a file control unit 43, a media control unit 44, an operation control unit 45, a display control unit 46, and a UI control unit 47.
- the optical system / image sensor control unit 41 controls the optical system 11 and the image sensor 12, and supplies (data) an image (data) obtained by imaging performed according to the control to the coding control unit 42.
- the coding control unit 42 supplies the image from the optical system / image sensor control unit 41 to the display control unit 46, encodes it as necessary, and supplies it to the file control unit 43. Further, the coding control unit 42 decodes the image supplied from the file control unit 43 as necessary, and supplies the image to the display control unit 46.
- the file control unit 43 generates a file in which the image supplied from the coding control unit 42 is stored and supplies the file to the media control unit 44. Further, the file control unit 43 plays back a file supplied from the media control unit 44, that is, reads out data such as an image stored in the file. For example, the image read from the file is supplied from the file control unit 43 to the coding control unit 42.
- the media control unit 44 controls the exchange of files between the media 14 and the I / Fs 15 and 16. For example, the media control unit 44 causes the media 14 to record the file from the file control unit 43, or causes the I / F 15 and 16 to transmit the file. Further, the media control unit 44 reads a file from the media 14 or causes the I / Fs 15 and 16 to receive the file and supplies the file to the file control unit 43.
- the operation control unit 45 supplies an operation signal corresponding to the operation of the button / key 17 or the touch panel 18 by the user to a necessary block.
- the display control unit 46 performs display control and the like to supply the image and the like supplied from the coding control unit 42 to the liquid crystal panel 19, the viewfinder 20, and the I / F 21 for display.
- the UI control unit 47 is in charge of UI (User Interface) control.
- the media 14 is a storage medium such as an SD card.
- the I / F 15 is, for example, a LAN (Local Area Network) I / F such as WiFi (registered trademark) or Ethernet (registered trademark).
- the I / F 16 is, for example, a USB (Universal Serial Bus) I / F.
- the buttons / keys 17 and the touch panel 18 are operated by the user when inputting commands and other information to the digital camera 10.
- the touch panel 18 can be integrally configured with the liquid crystal panel 19.
- the liquid crystal panel 19 and the viewfinder 20 display an image or the like supplied from the display control unit 46.
- the I / F 21 is an I / F that transmits at least an image such as HDMI (High-Definition Multimedia Interface) (registered trademark) or DP (DisplayPort).
- the optical system / image sensor control unit 41 uses, for example, a RAW image from an image of RAW data (hereinafter, also referred to as a RAW image) obtained by imaging the image sensor 12.
- a YUV image having the same resolution (number of pixels) (size) is generated and supplied to the coding control unit 42 together with the RAW image.
- the coding control unit 42 generates a master image or the like of the HEIF file from the YUV image from the optical system / image sensor control unit 41.
- the YUV image from the optical system / image sensor control unit 41 can be used as the main image of the HEIF file as it is.
- the coding control unit 42 has a lower resolution than, for example, a main image of the YUV as a first other image based on the main image for display on a liquid crystal panel 19 or an external display. Generates a YUV image (hereinafter also referred to as a screen nail image) and has a higher resolution than, for example, a screen nail image as a second other image based on the main image for use in index display (list display). Generates a low YUV image (hereinafter also referred to as a thumbnail image). For example, the coding control unit 42 supplies the screen nail image to the liquid crystal panel 19 via the display control unit 46 and displays it as a so-called through image.
- a YUV image hereinafter also referred to as a screen nail image
- thumbnail image Generates a low YUV image
- thumbnail image for example, an image having a long side of 320 pixels or less can be adopted.
- the ratio of the size (number of pixels) of the main image to the screen nail image as the first other image based on the main image or the thumbnail image as the second other image based on the main image is, for example, 200. Can be doubled or less.
- the size ratio of the screen nail image as the first other image based on the main image and the thumbnail image as the second other image based on the main image can be 200 times or less.
- the screen nail image for example, an image having a resolution of 4K or higher can be adopted. Further, as the screen nail image, for example, a 4K (QFHD) or FHD image can be adopted according to the user's selection.
- the main image and the screen nail image an image having the same resolution can be adopted.
- both the main image and the screen nail image can be stored in the HEIF file, or the main image and the screen nail image are not stored. Images can be stored.
- the main image is stored in the HEIF file without storing the screen nail image, the main image can be resized and used as the screen nail image.
- the coding control unit 42 needs a main image, a screen nail image, and a thumbnail image (a main image, a screen nail image, and a thumbnail image generated from the same RAW image) corresponding to the RAW image. It is encoded accordingly and supplied to the file control unit 43 together with the RAW image.
- the file control unit 43 includes a RAW file in which a RAW image is stored, a corresponding main image, a screen nail image, and a thumbnail image (a main image generated from the same RAW image, a screen nail image, etc.). And / or a JPEG file or the like in which the HEIF file (thumbnail image) is stored is generated and supplied to the media control unit 44.
- a HEIF file is a file conforming to HEIF (High Efficiency Image File Format)
- a JPEG file is a file conforming to JPEG (Joint Photographic Experts Group).
- the media control unit 44 records the RAW file, HEIF file, and JPEG file from the file control unit 43 on the media 14, or causes the I / F 15 or 16 to transmit the RAW file, the HEIF file, and the JPEG file.
- the file type (for example, RAW file, HEIF file, JPEG file, etc.) generated by the file control unit 43 can be selected according to, for example, a user operation (designation). Further, as will be described later, the HEIF file has an image item format and an image sequence format, and which of the image item format and the image sequence format should be adopted is selected according to, for example, the user's operation. be able to. Further, the file control unit 43 can perform mutual conversion between the HEIF file and the JPEG file according to the operation of the user.
- the file control unit 43 can generate a plurality of files having the same image content with different codecs, image sizes (resolutions), color formats, and bit depths.
- the coding control unit 42 selects an image stored in each of the plurality of files from the YUV image from the optical system / image sensor control unit 41.
- Stream (file stream) is generated.
- the coding control unit 42 can generate a stream of images having different codecs, image sizes (resolutions), color formats, and bit depths.
- the coding control unit 42 generates an image of a predetermined size, a predetermined color format, and a predetermined bit depth from the YUV image supplied from the optical system / image sensor control unit 41, and creates the image.
- a first stream encoded by a predetermined codec (encoding method) can be generated.
- the coding control unit 42 generates an image of another size, another color format, and another bit depth from the same YUV image supplied from the optical system / image sensor control unit 41, and generates an image thereof.
- a second stream can be generated in which the image is encoded by another codec.
- the file control unit 43 can generate a file in which the first stream is stored and a file in which the second stream is stored.
- FIG. 2 is a diagram showing an example of a JPEG file format conforming to JPEG (Joint Photographic Experts Group).
- JPEG files include, for example, Exif metadata, thumbnail images, XMP (Extensible Metadata Platform) (registered trademark) metadata, MPFs representing storage locations (positions) of main images and simple display images, and main images.
- a simple display image is stored and configured.
- As the simple display image for example, a screen nail image can be adopted.
- FIG. 3 is a diagram showing an example of an ISO base media file format.
- HEIF (ISO / IEC 23008-12) is a file format that conforms to the ISO base media file format (ISO / IEC 14496-12), and therefore HEIF files conform to the ISO base media file format.
- the ISO-based media file format is composed of units called boxes as containers for storing data, and has a structure called a box structure.
- the box has a type (box type), actual data (data), and the like.
- the type represents the type of actual data in the box.
- the actual data includes images (still images, moving images), playable media data such as audio and subtitles (subtitles), and attribute values (fields) of attribute names (field names) and their attribute names (variables represented by). Value) and various other data can be adopted.
- a box can be adopted as the actual data. That is, the box can have a box as actual data, whereby it can have a hierarchical structure.
- the base media file conforming to the ISO base media file format can have an ftyp box, a moov box (MovieBox), a meta box (MetaBox), an mdat box (MediaDataBox), and the like.
- the ftyp box stores identification information that identifies the file format.
- the moov box can store a trak box and the like.
- the meta box can store an inf box, an iprp box, an iref box, an iloc box, and the like.
- the mdat box can store media data (AV data) and any other data.
- HEIF conforms to the above ISO-based media file format.
- FIG. 4 is a diagram showing an example of a HEIF file format conforming to HEIF.
- HEIF files are roughly divided into image item format and image sequence format. Further, the image item format includes a single image format having only one item, which will be described later, and an image collection format having a plurality of items.
- the HEIF file in the image item format has an ftyp box, a meta box, and an mdat box.
- the HEIF file in the image sequence format has an ftyp box, a moov box, and an mdat box.
- the HEIF file can have both, not just one of the meta box and the moov box.
- the ftyp box stores identification information that identifies the file format, for example, that the file is a HEIF file in image item format or image sequence format.
- the meta box and moov box store metadata such as the storage location of media data, which is necessary for playing and managing the media data stored in the mdat box.
- which of the HEIF files of the image item format and the image sequence format is generated can be selected, for example, according to the user's operation.
- an image is encoded and stored in the mdat box of the HEIF file
- intra-coding and inter-coding are allowed for the image sequence format. .. Therefore, for example, when giving priority to high-speed access to the data stored in the HEIF file, selecting the generation of the HEIF file in the image item format and giving priority to reducing the size (data amount) of the HEIF file.
- FIG. 5 is a diagram showing an example of the format of the HEIF file in the image item format.
- image item format HEIF file information indicating that it is an image item format HEIF file, for example, mif1 etc., is stored (as an attribute value) in the ftyp box.
- the meta box stores the iinf box, iref box, iprp box, and iloc box.
- the iinf box stores the number of items (attribute names and attribute values) that are media data (AV data) stored in the mdat box.
- An item is one piece of data stored in the mdat box of a HEIF file in the image item format.
- one image is an item.
- one image regardless of whether it is a still image or a moving image, is also referred to as a frame.
- One frame is one item.
- the iref box stores information that indicates the relationship between items.
- the mdat box can store the corresponding main image, screen nail image, and thumbnail image as items. If the mdat box contains item I1 as the main image, item I2 as the screen nail image, and item I3 as the thumbnail image, then item I2 is the screen nail of the main image as item I1 in the iref box. Information indicating that it is an image and information indicating that item I3 is a thumbnail image of the main image as item I1 are stored.
- Information about item properties is stored in the iprp box.
- the iloc box stores information about the storage location of the items stored in the mdat box.
- the mdat box (of the HEIF file) in the image item format stores, for example, an image frame as an item.
- One or more items can be stored in the mdat box.
- the frame as an item can be encoded and stored in the mdat box.
- the coding of the frame as an item stored in the mdat box of the image item format is limited to the intra coding.
- a coding method (codec) for encoding a frame as an item for example, HEVC or the like can be adopted.
- FIG. 6 is a diagram showing an example of the iprp box of FIG.
- the iprp box stores the ipco box and ipma box related to item properties.
- the ipco box stores the property of the item stored in the mdat box, for example, the codec information regarding the codec of the image as an item and the image size information regarding the size.
- the ipma box stores the index (pointer) of the item stored in the mdat box to the property stored in the ipco box.
- FIG. 7 is a diagram showing an example of the format of the HEIF file in the image sequence format.
- the ftyp box stores information indicating that the HEIF file is in the image sequence format, for example, msf1.
- the trak box is stored in the moov box.
- the trak box stores information about the tracks stored in the mdat box.
- a track is composed of one independent media data such as an image or sound that is played back according to a timeline.
- a track is composed of one or more frames of images that are elementary streams.
- the tracks stored in the mdat box a plurality of tracks, for example, images and sounds recorded at the same time, can be played back at the same time.
- the media data of a truck is composed of units called samples.
- the sample is the smallest unit (access unit) when accessing the media data in the HEIF file. Therefore, it is not possible to access the media data in the HEIF file in smaller units than the sample.
- one frame or the like is one sample.
- the audio media data for example, one audio frame defined by the standard of the audio media data is one sample.
- the media data of the track is arranged in units called chunks.
- a chunk is a set of one or more samples arranged at logically contiguous addresses.
- the multiple tracks are interleaved and arranged in chunk units.
- one or more tracks composed of media data such as images and sounds are stored in the mdat box in the image sequence format.
- the frames of the images that make up the track can be encoded and stored.
- long GOP can be adopted as the GOP (Group of Picture), and both intra-coding and inter-coding can be adopted.
- a codec that encodes a frame constituting a track for example, HEVC or the like can be adopted.
- FIG. 8 is a diagram showing an example of a trak box.
- the tkhd box and mdia box can be stored in the trak box.
- the tkhd box stores track header information such as the creation date and time of the track managed by the trak box.
- the minf box and the like are stored in the mdia box.
- the stbl box is stored in the minf box.
- the stbl box contains stsd boxes, stsc boxes, stsz boxes, and stco boxes that store sample tracks and, by extension, information for accessing chunks.
- the stsd box stores codec information about the track's codec.
- the chunk size (number of samples per chunk) is stored in the stsc box.
- the sample size is stored in the stsz box.
- the stco box stores the chunk offset, that is, the offset of the placement position of each chunk of the track stored in the mdat box.
- the HEIF file in the image item format is also referred to as a collection file
- the HEIF file in the image sequence format is also referred to as a sequence file.
- the digital camera 10 can generate a HEIF file in which one or both of the main image, the necessary screen nail image, and the thumbnail image are stored.
- FIG. 9 is a diagram showing an example of a collection file in which a main image and a thumbnail image are stored.
- the frame (item) is encoded by HEVC and stored in the mdat box of the collection file.
- heic indicating that it is an image item format and that the codec is HEVC is stored as identification information that identifies the file format.
- the number of items (number of items) stored in the mdat box is stored in the iinf box.
- the main image specified by the item ID # 1 hereinafter, also described as the main image Item # 1
- the thumbnail image specified by the main image Item # 2 and the item ID # 101 (hereinafter, the thumbnail).
- a total of four items (frames), including image Item # 101) and thumbnail image Item # 102, are stored in the mdat box. Therefore, the number of items is 4.
- the thumbnail image Item # 101 is a thumbnail image of the main image Item # 1
- the thumbnail image Item # 102 is a thumbnail image of the main image Item # 2.
- an infe box is stored for each item stored in the mdat box.
- the item ID that identifies the item and the item type are registered.
- FIG. 9 there are infe boxes for the main images Item # 1 and Item # 2, and thumbnail images Item # 101 and Item # 102, respectively.
- the thmb box is stored as information for associating the items stored in the mdat box with each other.
- a reference source and a reference destination as information for associating the main image with the thumbnail image of the main image are stored in association with each other.
- the reference source represents the item ID of the main image
- the reference destination represents the item ID of the thumbnail image of the main image specified by the item ID of the reference source. Therefore, according to the reference destination associated with the reference source, the item ID of the thumbnail image of the main image specified by the item ID represented by the reference source can be recognized. Further, according to the reference source associated with the reference destination, the item ID of the main image of the thumbnail image specified by the item ID represented by the reference destination can be recognized.
- the iprp box stores the ipco box and the ipma box.
- the ipco box stores frame properties as items stored in the mdat box, for example, codec information regarding a codec and image size information regarding a size.
- the ipma box stores the index of the item stored in the mdat box to the property stored in the ipco box.
- the iloc box stores information about the storage location of items in the mdat box as explained in FIG. In FIG. 9, the number of items is stored in the iloc box. Further, in the iloc box, the offsets and sizes of the main images Item # 1 and Item # 2 stored in the mdat box and the storage locations of the thumbnail images Item # 101 and Item # 102 are associated with the item ID. Is stored.
- FIG. 10 is a diagram showing an example of a sequence file in which the track of the main image and the track of the thumbnail image of the main image are stored.
- the frame is encoded by HEVC and stored in the mdat box of the sequence file.
- hevc indicating that it is in the image sequence format and that the codec is HEVC is stored as identification information for identifying the file format.
- the moov box stores a trak box that manages each track stored in the mdat box.
- the track of the main image specified by track ID # 1 (hereinafter, also referred to as track # 1) and track # 2 of the thumbnail image of the main image of track # 1 are placed in the mdat box. It is stored. Therefore, the moov box stores a trak box that manages track # 1 and a trak box that manages track # 2.
- the nth thumbnail image (frame) of track # 2 (from the beginning) is the thumbnail image of the nth main image of track # 1.
- the sequence file is useful, for example, when continuous shooting is performed by the digital camera 10, and the main image and the thumbnail image of a plurality of frames obtained by the continuous shooting are recorded as one track, respectively.
- the tkhd box of the trak box that manages track # 1 of the main image contains the track ID # 1 that identifies track # 1, the image size of the main image that composes track # 1, and the digital camera when the main image is captured. Rotation information indicating the direction of 10 and the creation date and time of track # 1 are stored.
- the tkhd box of the trak box that manages the track # 2 of the thumbnail image stores the track ID # 2 that identifies the track # 2 and the creation date and time of the track # 2.
- the tref box can be stored in the trak box.
- a track ID that identifies another track related to the track managed by the truck box in which the tref box is stored, information indicating the contents of the track, and the like are stored.
- a tref box is provided in the trak box that manages the track # 2.
- the mdia box of the trak box can store the hdlr box.
- the hdlr box stores information indicating the types of data that make up the tracks managed by the trak box in which the hdlr box is stored.
- Information (pict) indicating that the data constituting track # 1 is a picture (frame) is stored in the hdlr box stored (in the stored mdia box) in the trak box that manages track # 1 of the main image.
- the hdlr box which is stored and stored in the trak box that manages the track # 2 of the thumbnail image, stores information indicating that the data constituting the track # 2 is a picture.
- the minf box is as explained in FIG.
- FIG. 11 is a diagram showing an example of a HEIF file in which a tile image is stored.
- a grid image whose item type is grid is formed by tiling one or more tile images.
- tile image for example, a divided image obtained by dividing an image captured by a digital camera 10 or the like can be adopted.
- tile image the image itself captured by the digital camera 10 or the like
- a grid image can be formed from one or more of such tile images.
- a plurality of images captured by a plurality of cameras can be used as tile images, and a grid image can be formed from such a plurality of tile images.
- the divided image obtained by dividing the image captured by the digital camera 10 or the like is adopted as the tile image.
- each tile image (1 or more) that forms the grid image is stored as an item in the HEIF file.
- the grid image itself is not stored in the HEIF file, but the tile image forming the grid image is stored in the HEIF file.
- the HEIF file in which the tile image is stored is also referred to as the HEIF file in which the grid image formed from the tile image is stored.
- FIG. 11 shows an example of a HEIF file in which a grid image (a tile image forming a tile image) is stored.
- tile image Item nine images obtained by dividing an image captured by the digital camera 10 (hereinafter, also referred to as an captured image) into 3 ⁇ 3 (horizontal ⁇ vertical) pieces are tile image Item.
- the tile images Item # 1 to Item # 9 are stored as items in the mdat box as # 1 to Item # 9.
- the items stored in the mdat box are nine items of tile images Item # 1 to Item # 9, but the number of items in the iinf box and the iloc box is 10. This is because, in addition to the nine items of the tile images Item # 1 to Item # 9, the grid image (reconstructed image) formed from the tile images Item # 1 to Item # 9 is counted as an item. .. In FIG. 11, the item ID of the grid image is 10, and for convenience of explanation, the grid image is also described as the grid image Item # 10.
- media data is not stored in the mdat box, but instead the idat box is stored in the meta box.
- the idat box stores the metadata of the grid image such as the number of tiles horizontal, the number of tiles vertical, output_width, and output_height.
- the number of tiles horizontally and the number of tiles vertically represent the numbers of tile images # 1 to # 9 constituting the grid image Item # 10 in the horizontal and vertical directions, respectively.
- Output_width and output_height represent the horizontal and vertical sizes (number of pixels) of the canvas, which is the image area in which the tile images forming the grid image are tiling (arranged). If the number of horizontal and vertical pixels of the tile image is expressed as tile_width and tile_height, respectively, the tile_width ⁇ number of tiles width must be output_width or more, and the tile_height ⁇ number of tiles length must be output_height or more.
- information (offset and size) regarding the storage location of the grid image Item # 10 is stored in the iloc box, and this information is stored in the idat box of the grid image Item # 10. Represents a place.
- the HEIF file of FIG. 11 stores 10 items of tile images Item # 1 to Item # 9 and tile images Item # 10 formed from the tile images Items # 1 to Item # 9. Depending on it, it has 10 infe boxes. As described with reference to FIG. 9, the infe box stores (registers) the item ID that identifies the item and the item type, but the infe box of the grid image Item # 10 contains the grid image Item # 10. As an item type, a grid representing a grid item is stored. An item whose item type is grid, here grid image Item # 10, is called a grid item.
- the dimg box is stored in the iref box.
- the dimg box stores information that associates the grid item with the tile images that make up the grid item.
- the item ID of the tile image is stored as a reference destination
- the item ID of the grid image formed from the tile image is stored as a reference source.
- the item IDs # 1 to # 9 of the tile images Item # 1 to Item # 9 are stored as reference destinations
- the item ID # 10 of the grid image Item # 10 is stored as a reference source.
- the dimg box stores a reference counter that represents the number of tile images that form the grid image.
- the file control unit 43 uses the item type grid stored in the infe box of the grid image Item # 10 to form a grid item (a grid image in which the grid image Item # 10 is one or more tile images). It can be recognized that it is a reconstructed image). Further, the file control unit 43 is used to form the item ID # 10 of the grid image Item # 10 formed from the tile image and the grid image Item # 10 from the reference source and the reference destination stored in the dimg box. It is possible to identify the item IDs # 1 to # 9 of the tile images Item # 1 to Item # 9.
- the file control unit 43 determines the horizontal and vertical directions of the tile images # 1 to # 9 forming the grid image # 10 from the horizontal and vertical number of tiles stored in the idat box and the output_width and output_height. It is possible to specify the number and the horizontal and vertical sizes of the tile images # 1 to # 9 to be placed when forming the grid image # 10.
- the file control unit 43 uses the tile images Item # 1 to Item # 9 of the item IDs # 1 to # 9 specified from the dimg box to obtain the number of tile images in the horizontal and vertical directions specified from the idat box. By arranging it on the canvas of the specified size from the box, it is possible to form the grid image Item # 10 of the item ID # 10 specified from the dimg box.
- FIG. 12 is a diagram showing an example of a use case in which the image size or bit rate of the tile image is limited.
- the tile image stored in the HEIF file may be played back on a device other than the device that generated the HEIF file. ..
- the tile image is reproduced so that the tile image can be decoded or reproduced in terms of software (SW) or hardware (HW) within the range of the performance (reproduction capability) of the other device.
- SW software
- HW hardware
- the image size or bit rate is limited.
- Intel CPUs have different performances such as the range of image sizes that can be hardware decoded depending on the generation.
- the image size of the tile image and the like are limited by the performance of the CPU.
- the image size or bit rate of the tile image is limited, for example, there is a case where the HEIF file in which the tile image is stored is transferred from the device that generated the HEIF file to another device.
- the image size or bit rate of the tile image is limited so as to comply with, for example, a communication standard (connection standard) as a connection method for connecting the device that generated the HEIF file to another device.
- the image size or bit rate of the tile image is limited, for example, a grid image is formed from the tile images in which the tile images stored in each of a plurality of HEIF files are collectively stored. May generate one HEIF file that can.
- the image size or bit rate of the tile image is limited so that the image size of the tile image is the same for all the tile images of each of the plurality of HEIF files.
- the image size or bit rate of the tile image is limited, for example, in a plurality of nodes as a processing block for processing the tile image, one tile image is encoded in parallel for each node.
- a HEIF file in which a tile image encoded by each of a plurality of nodes is stored may be generated within a predetermined time.
- the image size or bit rate of the tile image is limited so that the generation of the HEIF file, including the coding of the tile image at the node, can be completed within a predetermined time.
- a case is applicable in which an image captured by continuous shooting with a large imager is used as a grid image, and a plurality of tile images forming the grid image are processed by (semiconductor) chips as a plurality of nodes.
- the image size or bit rate of the tile image is limited, for example, in a plurality of nodes as a processing block for processing the tile image, one tile image is decoded in parallel for each node.
- This is a case where slide show reproduction, time lapse reproduction, or the like is performed on a grid image formed from a plurality of tile images decoded by a plurality of nodes.
- the tile image is arranged so that the limitation of the playback time can be guaranteed (so that the grid image can be formed within the playback time).
- the image size or bit rate is limited.
- the image size or bit rate of the tile image is limited, for example, one tile image is coded in parallel on each node of a plurality of nodes as a processing block for processing the tile image.
- This is a case where the transfer band is transferred under a limited condition and the HEIF file is generated at the transfer destination within a predetermined time.
- the image size or bit rate of the tile image is limited so that the tile image can be transferred within the transfer band under limited conditions and the generation of the HEIF file can be completed within a predetermined time.
- learning remote commander so-called learning remote commander (smart remote commander) (WiFi remote commander)
- the image size or bit rate of the tile image stored in the HEIF file is limited by other, for example, the profile, level, or tier of the codec supported by the device that handles the tile image.
- the image size of the tile image is limited to the image size defined by the level of the codec supported by the device that handles the tile image.
- the bit rate of the tile image is limited to the bit rate specified in the profile, level, or tier of the codec supported by the device handling the tile image.
- the bit rate of the tile image defines the chroma sampling and encoder tool that the device that handles the tile image supports. Limited to the bit rate specified in the profile.
- the image size of the tile image is appropriately set, and the tile image of the image size appropriately set (hereinafter, also referred to as the set image size) can be generated.
- the generation time to generate the HEIF file that stores the encoded tile image and the playback time to reproduce the grid image formed from the decoded tile image shall be within the specified time. Guarantee according to the performance of the node, for example, the throughput at which the node encodes the tile image and the throughput at which the tile image is decoded (reproduced). It is possible to guarantee that this is done according to the transfer band (transfer throughput).
- the image size (set image size) of the tile image can be set by the user operating information from the outside of the digital camera 10, for example, the menu screen of the digital camera 10, or as another device that communicates with the digital camera 10. It can be performed according to the performance of the external device acquired by negotiation with the external device, the communication standard as the connection method to be followed when the digital camera 10 and the external device communicate with each other, and the like.
- FIG. 13 is a diagram illustrating an example of setting the image size of the tile image in the first use case.
- the HEIF file in which the tile image generated by the digital camera 10 is stored is transferred to a smartphone, a PC (Personal Computer) or the like as an external device, and the tile stored in the HEIF file in the external device. The case where the image is reproduced is shown.
- the manufacturer of the digital camera 10 sets the image size of the tile image by, for example, rewriting the firmware of the digital camera 10 with new firmware as information from the outside in consideration of the world playback environment. be able to.
- the manufacturer of the digital camera 10 sets the image size of the tile image to the image size of the 4K image.
- the firmware of the digital camera 10 can be rewritten so as to be set to.
- the firmware of the digital camera 10 can be rewritten by communication via the I / F15 or the like.
- the manufacturer of the digital camera 10 sets the image size of the tile image to the image size of the 8K image.
- the firmware of the digital camera 10 can be rewritten.
- the image size of the tile image can be set according to the user's operation on the menu screen of the digital camera 10 as information from the outside.
- the user when transferring a HEIF file to a smartphone that supports playback of up to 4K images, the user operates the menu screen to change the image size of the tile image stored in the HEIF file to the 4K image.
- the image size can be set to be smaller than the image size.
- the user when transferring a HEIF file to a PC that supports playback of up to 8K images, the user operates the menu screen to set the image size of the tile image stored in the HEIF file to 8K.
- the image size can be set to be smaller than the image size of the image.
- the image size of the tile image can be set according to the performance (reproduction ability) of the smartphone or PC as an external device connected to the digital camera 10.
- the digital camera 10 when the digital camera 10 is connected to a smartphone that supports playback of up to 4K images and the HEIF file is transferred, the digital camera 10 negotiates with the smartphone, and the smartphone acquired by the negotiation is 4K.
- the image size of the tile image stored in the HEIF file can be set to an image size equal to or less than the image size of the 4K image (for example, 4K) depending on the playback up to the image.
- the digital camera 10 when the digital camera 10 is connected to a PC that supports playback of up to 8K images and the HEIF file is transferred, the digital camera 10 negotiates with the PC and is acquired by the negotiation.
- the image size of the tile image stored in the HEIF file can be set to an image size equal to or smaller than the image size of the 8K image (for example, 8K), depending on the fact that is compatible with playback of up to 8K images.
- FIG. 14 is a diagram illustrating an example of setting the image size of the tile image in the second use case.
- the HEIF file in which the tile image stored by the digital camera 10 is stored is transferred to a PC (Personal Computer) -A, PC-B, etc. as an external device, and the external device converts the HEIF file into a HEIF file.
- PC Personal Computer
- the image size of the tile image can be set according to the communication standard supported by the external device as information from the outside.
- the digital camera 10 uses the HEIF according to the communication standard A that the PC-A supports.
- the image size of the tile image stored in the file can be set to an image size smaller than or equal to the image size supported by level 5.2.
- the digital camera 10 responds to the communication standard B supported by the PC-B.
- the image size of the tile image stored in the HEIF file can be set to an image size smaller than or equal to the image size supported by level 6.2.
- the communication standards supported by PC-A and PC-B can be acquired, for example, by negotiation between the digital camera 10 and PC-A and PC-B, respectively.
- the digital camera 10 determines the communication standard when transferring the HEIF file to the external device by negotiation with the external device, and uses the communication standard as the communication standard. Depending on the situation, the image size of the tile image stored in the HEIF file can be set.
- FIG. 15 is a diagram illustrating an example of setting the image size of the tile image in the third use case.
- HEIF files are combined into one HEIF file (a new HEIF file is created by combining four HEIF files).
- the four cameras that generate the HEIF file before editing which are the materials to be input to the editing software, are configured in the same manner as the digital camera 10, for example.
- the tile images that form the new grid image stored in the new HEIF file generated by the editing software must all have the same image size according to the HEIF standard. Therefore, the four cameras that generate the HEIF file before editing generate the HEIF file before editing using the same parameter set as the parameter set such as the image size and chroma sampling of the tile image that forms the grid image. do.
- an image of the same image size (an image that becomes a grid image) is captured by each of the four cameras, and the tile image obtained by dividing the image into 2 ⁇ 2 (horizontal ⁇ vertical) is stored.
- the HEIF file that was created has been generated.
- the editing software the HEIF file generated by the four cameras can be combined so that a new grid image can be formed by combining the tile images stored in the HEIF file generated by the four cameras.
- a new HEIF file containing the stored tile images has been generated.
- the four cameras use the same parameter set to generate the unedited HEIF file, so for example, one of the four cameras is set as the master camera and the remaining three cameras. Is set as the slave camera. For example, the user operates one of the four cameras and sets it as the master camera. The master camera communicates with the remaining three cameras and sets the three cameras as slave cameras.
- the master camera sets the image size of the tile image and instructs the image size of the tile image by communicating with the three slave cameras.
- the other cameras set the image size of the tile image to the same image size as the master camera in response to an instruction from the master camera as information from the external device.
- the master camera can set the image size of the tile image according to the operation of the user. Further, for example, the master camera communicates with the three slave cameras to obtain the codec performance of the three slave cameras as information from an external device, for example, one or more of the codec profile, level, and tier. The image size of the collected tile image can be set to the image size corresponding to the lowest performance.
- the image size of the tile image can be set according to the instruction from the cloud.
- the image size instructed by the four cameras can be set in the same manner as, for example, the master camera.
- the four cameras can communicate with the editing software (hardware such as a PC on which it is mounted), the four cameras will depend on the function and performance of the editing software. You can set the image size of the tile image.
- FIG. 16 shows the four unedited HEIF files generated by the four cameras in the third use case and the new HEIF files generated from the four unedited HEIF files in the editing software. It is a figure which shows the 1st example of.
- images G1, G2, G3, and G4 having the same image size are captured by four cameras, and a tile image obtained by dividing the images G1, G2, G3, and G4 into 2 ⁇ 2 images is obtained.
- the stored HEIF files # 1, # 2, # 3, and # 4 are generated as HEIF files before editing.
- new grid images are formed in which the 2 ⁇ 2 tile images stored in the HEIF files # 1 to # 4 before editing are arranged in the upper left, upper right, lower left, and lower right, respectively.
- HEIF file # 0 in which the tile images stored in HEIF files # 1 to # 4 are stored is generated as a new HEIF file.
- FIG. 17 shows the four unedited HEIF files generated by the four cameras in the third use case and the new HEIF files generated from the four unedited HEIF files in the editing software. It is a figure which shows the 2nd example of.
- images G1 to G4 having the same image size are captured by four cameras, and tile images obtained by dividing the images G1 to G4 into 2 ⁇ 2 are stored.
- HEIF files # 1 to # 4 before editing have been generated.
- tile images of the upper left, upper right, lower left, and lower right of the 2 ⁇ 2 tile images stored in the HEIF file #i are represented as tile images Ti1, Ti2, Ti3, and Ti4, respectively.
- tile images T11, T21, T31, T41 are in the upper left
- tile images T12, T22, T32, T42 are in the upper right
- tile images T13, T23, T33, T43 are in the lower left
- T44 is in the lower right, and a new HEIF file # 0 is generated so that a new grid image is formed.
- FIG. 18 shows the four unedited HEIF files generated by the four cameras in the third use case and the new HEIF files generated from the four unedited HEIF files in the editing software. It is a figure which shows the 3rd example of.
- HEIF files # 1, # 3, and # 4 containing the tile images T11 to T14, T31 to T34, and T41 to T44 obtained by dividing into are generated as HEIF files before editing.
- the remaining one camera captures an image G2 having an image size 3/2 times that of the images G1, G3, and G4 in both the horizontal and vertical directions, and the image G2 is reduced to 3 ⁇ 3.
- HEIF file # 2 containing the tile images T21 to T29 obtained by dividing is generated as a HEIF file before editing.
- the tile images stored in HEIF files # 1 to # 4 have the same parameter set such as image size.
- 2 ⁇ 2 selected from 2 ⁇ 2 tile images T11 to T14 stored in HEIF file # 1 and 3 ⁇ 3 tile images T21 to T29 stored in HEIF file # 2.
- Tile images T21 to T24 (the part surrounded by a thick frame in the figure), 2 x 2 tile images stored in HEIF file # 3 T31 to T34, 2 x 2 tile images stored in HEIF file # 4
- a new HEIF file # 0 containing T31 to T34 and T41 to T44 has been generated.
- the selection of the 2x2 tile images stored in the new HEIF file # 0 can be done, for example, in editing software. It can be performed according to the user's operation or the like.
- FIG. 19 shows the four unedited HEIF files generated by the four cameras in the third use case and the new HEIF files generated from the four unedited HEIF files in the editing software. It is a figure which shows the 4th example of.
- the 2 ⁇ 2 tile images T11 to T14 stored in the HEIF file # 1 are to the right, below, and diagonally below the right, and the 3 ⁇ 3 tile images T21 to the HEIF file # 2 are stored.
- 2 ⁇ 2 tile images T21 to T24 selected from T29 in the same manner as in FIG. 18, 2 ⁇ 2 tile images T31 to T34 stored in HEIF file # 3, 2 ⁇ stored in HEIF file # 4.
- Two tile images T41 to T44 are placed respectively, and at the right end, four of the remaining tile images T25 to T29 of the 3 ⁇ 3 tile images T21 to T29 stored in HEIF file # 2.
- Tile images T11 to T14, T21 to T28, T31 to T34, T41 to T44 stored in HEIF files # 1 to # 4 are stored so that a new grid image with tile images T25 to T28 is formed.
- a new HEIF file # 0 has been generated.
- the same number of tile images (4 tile images in FIG. 18) are arranged from the tile images stored in each of the HEIF files # 1 to # 4.
- a non-identical number of tile images (in FIG. 19, 4 tile images and 8 tile images) It can be formed by arranging tile images).
- FIG. 20 is a diagram illustrating an example of setting the image size of the tile image in the fourth use case.
- FIG. 20 there is a case where one tile image is encoded in parallel and one file HEIF file is generated in a plurality of nodes as a processing block for processing the tile image within a predetermined time. It is shown.
- FIG. 20 for example, one HEIF file in which each of the four tile images obtained by dividing the image captured by the digital camera 10 is encoded by each node and the encoded tile image is stored. Is generated within a predetermined time.
- the encoding of the tile image at the node and the generation of one HEIF file storing the encoded tile image may be performed by the digital camera 10 or may be performed outside the digital camera 10.
- the total processing time required for coding the tile image and generating the HEIF file at each node is affected by the performance of the node (coding throughput), and the total processing time is set to a predetermined value. In order to keep it within the time, it is necessary to limit the image size and bit rate (data amount) of the tile image processed by the node according to the performance of the node.
- a target image size or target bit rate that is a target is set so that the total processing time falls within a predetermined time according to the performance of the node. be able to. Then, depending on the target image size or the target bit rate, for example, the image size of the tile image can be set so that the image size or bit rate of the tile image is equal to or less than the target image size or the target bit rate.
- the target image size or target bit rate can be set according to information from the outside.
- the target image size is set so that the total processing time falls within a predetermined time according to the performance of the node input by the user's operation and a predetermined time (according to the user's operation).
- the target bit rate can be set.
- the node is an external device external to the digital camera 10
- the total processing time is set within a predetermined time according to the performance of the node as information obtained from the node as the external device.
- the target image size or target bit rate can be set.
- the node as an external device does not violate the profile, level, and tier according to one or more of the corresponding codec profiles, levels, and tiers.
- Target image size or target bit rate can be set.
- the profile and level of the codec supported by the communication standard according to the connection method for connecting to the node as an external device for example, the communication standard to be followed when the digital camera 10 and the node communicate with each other.
- the target image size or target bit rate can be set so as not to violate the tier.
- the image size of the tile image is set so that the image size or bit rate of the tile image is equal to or less than the target image size or the target bit rate, and the image size and bit rate of the tile image are the target image size and the target bit rate, respectively. It can be done so as to be within a predetermined range based on.
- the target image size or the target bit rate is set according to external information such as node performance, but total processing is performed according to external information such as node performance.
- the image size of the tile image can be set so that the time is within a predetermined time.
- FIG. 20 it was decided to obtain a tile image by dividing the image captured by the digital camera 10, but in addition, for example, a plurality of images captured by a plurality of cameras may be used as the tile image. Can be entered in the node.
- FIG. 21 is a diagram illustrating an example of setting the image size of the tile image in the fifth use case.
- a case is shown in which a slide show playback, a Time Lapse playback, or the like is performed for an image with a limited playback time per image.
- the decoding of the tile image at the node and the formation of the grid image in which the tile image is arranged may be performed by the digital camera 10 or may be performed outside the digital camera 10.
- the total processing time required for decoding the tile image and forming the grid image at each node is affected by the performance of the node (decoding throughput), and the total processing time is set within a predetermined time. It is necessary to limit the image size and bit rate of the tile image processed by the node according to the performance of the node.
- the target image size or bit rate of the tile image can be set so that the total processing time is within a predetermined time according to the performance of the node. .. Then, the image size of the tile image can be set so that the image size or bit rate of the tile image is equal to or less than the target image size or the target bit rate.
- the target image size or the target bit rate can be set according to information from the outside, as in the case of FIG. 20.
- the target image size or the target bit rate is set according to external information such as node performance, but total processing is performed according to external information such as node performance.
- the image size of the tile image can be set so that the time is within a predetermined time.
- FIG. 21 it was decided to obtain a tile image by dividing the image captured by the digital camera 10, but other than that, for example, as in the case of FIG. 20, a plurality of images captured by a plurality of cameras.
- the image can be input to the node as a tile image.
- FIG. 22 is a diagram illustrating an example of setting the image size of the tile image in the sixth use case.
- one tile image is encoded and transferred in parallel, and a HEIF file storing the tile image is generated at the transfer destination. Cases are shown in which the tiles are performed (completed) within a predetermined time.
- each of the four tile images obtained by dividing the image captured by the digital camera 10 is encoded and transferred at each node, and the encoded tile image is transferred at the transfer destination.
- the generation of one stored HEIF file is performed within a predetermined time.
- Coding of the tile image at the node may be performed by the digital camera 10 or may be performed outside the digital camera 10.
- the total processing time required for encoding the tile image, transferring the tile image, and generating the HEIF file at each node is used for transferring the tile image in the network used for transferring the tile image. It is affected by the transfer band that can be. Therefore, in order to keep the total processing time within a predetermined time, it is necessary to limit the image size and bit rate of the tile image processed by the node according to the transfer band of the network.
- the image size or bit rate of the tile image it is possible to set the target image size or bit rate so that the total processing time falls within a predetermined time according to the transfer band of the network. can. Then, the image size of the tile image can be set so that the image size or bit rate of the tile image is equal to or less than the target image size or the target bit rate.
- the target image size or target bit rate can be set according to information from the outside.
- a target image is set so that the total processing time falls within a predetermined time according to a predetermined time input by the user's operation and a transfer band of the network (according to the user's operation). You can set the size or target bit rate. Further, in the digital camera 10, when the transfer band can be obtained from an external network, the target image size is set so that the total processing time is within a predetermined time according to the transfer band obtained from the network. Alternatively, the target bit rate can be set.
- the target image size or the target bit rate is set according to the information from the outside such as the network band, but the total processing is performed according to the information from the outside such as the network band.
- the image size of the tile image can be set so that the time is within a predetermined time.
- FIG. 22 it was decided to obtain a tile image by dividing the image captured by the digital camera 10, but in addition, for example, a plurality of images captured by a plurality of cameras may be used as the tile image. Can be entered in the node.
- the image size of the tile image can be adjusted by rewriting the firmware of the digital camera 10 with new firmware as information from the outside according to the playback environment in the world, as described in FIG. It can be set statically, so to speak.
- the image size of the tile image can be set dynamically, as described in FIGS. 14, 15, 20, and 22.
- the image size of the tile image can be dynamically set according to information from the outside, for example, user operation or information from an external device such as a cloud.
- the image size of the tile image is determined by the performance of the node or the like as an external device connected to the digital camera 10 (encoding / decoding throughput, corresponding codec profile, level, tier, etc.) and the digital camera 10. It can be dynamically set according to the communication standard (connection standard) as the connection method between the camera and the external device, the transfer band (communication status) of the network used when transferring the tile image, and the like.
- the image size of the tile image can be dynamically set according to the configuration of the system for processing the tile image, such as a system for encoding the tile image (encoding system) and a system for decoding (decoding system).
- a system for encoding the tile image encoding system
- a system for decoding decoding system
- a plurality of tile images obtained by dividing an image captured by one digital camera 10 are encoded by a plurality of nodes.
- the image size of the tile image can be dynamically set according to the performance of the node.
- the tile image is processed.
- the image size can be dynamically set according to the performance of a plurality of cameras that generate HEIF files in which tile images are stored, for example, the profile of the codec supported by the plurality of cameras.
- the image size of the tile image is determined by the hardware constituting the node and the configuration. It can be dynamically set according to the performance (restriction) of the software, for example, the profile of the codec supported by the node.
- FIG. 23 is a block diagram showing a configuration example of the coding control unit 42.
- the image processing unit 110 has a setting unit 111 and a generation unit 112.
- the setting unit 111 may, for example, set the image size or bit rate of the tile image to be less than or equal to the target image size or target bit rate, or set the image size of the tile image.
- the image size of the tile image is set so that the bit rate falls within a predetermined range with respect to the target image size or the target bit rate, and the image size is supplied to the generation unit 112.
- the setting unit 111 sets the image size of the tile image according to the information from the outside and supplies it to the generation unit 112.
- the generation unit 112 generates a tile image of the image size (set image size) from the setting unit 111 by dividing the image supplied from the optical system / image sensor control unit 41 to the coding control unit 42.
- FIG. 24 is a flowchart illustrating an example of processing the image processing unit 110.
- step S101 the setting unit 111 sets the image size of the tile image according to one or both of the target image size and the target bit rate of the tile image. Alternatively, the setting unit 111 sets the image size of the tile image according to the information from the outside. Then, the setting unit 111 supplies the image size (set image size) of the tile image to the generation unit 112, and the process proceeds from step S101 to step S102.
- step S102 the generation unit 112 generates a tile image of the image size from the setting unit 111 by dividing the image supplied from the optical system / image sensor control unit 41 to the coding control unit 42, and the processing is performed. ,finish.
- the tile image generated by the generation unit 112 is encoded by the coding control unit 42, and a HEIF file in which the encoded tile image is stored is generated by the file control unit 43.
- the image size of the tile image is set according to one or both of the target image size and the target bit rate of the tile image, or according to the information from the outside, so that the tile with an appropriate image size You can get the image.
- FIG. 25 is a diagram showing an example of an image size setting method for setting the image size of the tile image so that the image size of the tile image is equal to or less than the target image size.
- the overall image size horizontal input_width represents the number of horizontal pixels of the captured image before being divided into tile images captured by the digital camera 10
- the overall image size vertical input_height is the vertical pixels of the captured image. Represents a number.
- Align size horizontal align_width and align size vertical align_height are predetermined pixels when the image size of the image to be processed is required to be a multiple of a predetermined number of pixels in a codec that encodes / decodes a tile image. Represents a number (hereinafter, also referred to as the number of aligned pixels). Align size horizontal align_width represents the number of aligned pixels with respect to the number of pixels in the horizontal direction, and align size vertical align_height represents the number of aligned pixels with respect to the number of pixels in the vertical direction.
- the target image size horizontal target_width and the target image size vertical target_height represent the target number of horizontal and vertical pixels (target image size) of the tile image, respectively.
- the image size horizontal tile_width and image size vertical tile_height of the tile image represent the number of horizontal and vertical pixels of the tile image, respectively.
- the whole image size horizontal input_width and the whole image size vertical input_height, and the align size horizontal align_width and the align size vertical align_height are supplied to the setting unit 111 as inputs.
- the overall image size horizontal input_width and the overall image size vertical input_height can be set according to, for example, a user operation. For example, a plurality of sets are prepared as a set of the overall image size horizontal input_width and the overall image size vertical input_height, and a set according to the user's operation is selected from the plurality of sets, and the overall image size horizontal input_width is selected. And the overall image size can be set as vertical input_height.
- the overall image size horizontal input_width and the overall image size vertical input_height can be set according to, for example, an instruction (information) from the outside such as the cloud.
- the digital camera 10 captures an image of the image size represented by the overall image size horizontal input_width and the overall image size vertical input_height.
- the align size horizontal align_width and the align size vertical align_height can be set according to the codec adopted by the coding control unit 42 for coding and decoding the tile image.
- the align size horizontal align_width and the align size vertical align_height can be set in the same manner as, for example, the overall image size horizontal input_width and the overall image size vertical input_height.
- the align size horizontal align_width and the align size vertical align_height are parameters set according to the operation of the user in the digital camera 10.
- the target image size horizontal target_width and the target image size vertical target_height can be set according to user operations and external information such as information from an external device.
- the setting unit 111 determines the number of pixels in the horizontal direction and the number of pixels in the vertical direction of the tile image according to the overall image size horizontal input_width and the overall image size vertical input_height, and the target image size horizontal target_width and the target image size vertical target_height. Set the image size horizontal tile_width and image size vertical tile_height (image size) of the tile image so that the target image size is horizontal target_width and the target image size is vertical target_height or less, respectively.
- the setting unit 111 obtains the maximum tile_width and tile_height that are integral multiples of the align size horizontal align_width and the align size vertical align_height, respectively, and sets the tile image image size horizontal tile_width and image size vertical tile_height, respectively. Set.
- Nx and ny represent positive integers.
- FIG. 26 is a flowchart illustrating an example of a process of setting the image size of the tile image so that the image size of the tile image is equal to or less than the target image size.
- FIG. 26 describes the process of setting the image size of the tile image by paying attention to the setting of the image size horizontal tile_width of the image size horizontal tile_width and the image size vertical tile_height of the tile image.
- the tile_height setting is performed in the same way as the image size horizontal tile_width setting.
- step S111 the setting unit 111 sets the variable tile_num_tmp indicating the number of tile images in the horizontal direction when dividing the captured image into tile images in CEIL (input_width / target_width, 1), and the process is performed in step S112. move on.
- the function CEIL (A, B) represents the minimum value of an integer greater than or equal to A among integer multiples of B.
- step S112 the setting unit 111 sets the variable tile_width_temp representing a candidate value for the tile_width image size horizontal tile_width of the tile image in CEIL (input_width / tile_num_tmp, align_width), and the process proceeds to step S113.
- the variable tile_width_temp is set to a value that is an integral multiple of the align size horizontal align_width as a candidate for the tile image image size horizontal tile_width.
- step S113 the setting unit 111 determines whether or not the variable tile_width_temp is equal to or less than the target image size horizontal target_width.
- step S113 If it is determined in step S113 that the variable tile_width_temp is not less than or equal to the target image size horizontal target_width, the process proceeds to step S114.
- step S114 the setting unit 111 increments the variable tile_num_tmp by 1 to increase the number of horizontal tile images when dividing the captured image into tile images by one, and the process proceeds to step S112. It returns and the same process is repeated.
- step S113 If it is determined in step S113 that the variable tile_width_temp is equal to or less than the target image size horizontal target_width, the process proceeds to step S115.
- step S115 the setting unit 111 sets the image size horizontal tile_width to the variable tile_width_temp and ends the process.
- FIG. 26 is an explanation of the setting of the image size vertical tile_height by replacing “horizontal” with “vertical”.
- FIG. 27 is a diagram showing an example of an image size setting method for setting the image size of the tile image so that the bit rate of the tile image is equal to or less than the target bit rate.
- the overall image size horizontal input_width and the overall image size vertical input_height, and the align size horizontal align_width and the align size vertical align_height are used to set the image size of the tile image.
- the image quality bit_per_pixel is used for setting the image size of the tile image.
- the image quality bit_per_pixel represents the number of bits as the amount of data (code amount) allocated to each pixel of the tile image, and corresponds (affects) the image quality of the tile image.
- the target bit amount target_bit_per_tile as the target bit rate is used instead of the target image size horizontal target_width and the target image size vertical target_height described in FIG. 25 for setting the image size of the tile image.
- the target bit amount as the target bit rate target_bit_per_tile represents the target data amount (code amount) of the tile image.
- the image quality bit_per_pixel is supplied as an input to the setting unit 111.
- the image quality bit_per_pixel can be set according to the user's operation or the like, as in the case of the overall image size horizontal input_width and the overall image size vertical input_height in FIG. 25, for example.
- the image quality bit_per_pixel is set according to the user's operation, it can be said that the image quality bit_per_pixel is a parameter set in the digital camera 10 according to the user's operation.
- target_bit_per_tile target bit rate
- information from the outside such as user operations and information from an external device, for example, as described in FIG. 22, when transferring a tile image via a network. It can be set according to the transfer band of the network.
- the bit rate (data amount) of the tile image (data amount) tile_width * tile_height * bit_per_pixel is set as the target bit rate according to the overall image size horizontal input_width, the overall image size vertical input_height, the image quality bit_per_pixel, and the target bit amount target_bit_per_tile.
- Set the image size horizontal tile_width and image size vertical tile_height (image size) of the tile image so that the target bit amount of target_bit_per_tile or less is equal to or less than the target bit amount of.
- the setting unit 111 obtains the maximum tile_width and tile_height that are integral multiples of the align size horizontal align_width and the align size vertical align_height, respectively, and sets the tile image image size horizontal tile_width and image size vertical tile_height, respectively. Set.
- FIG. 28 is a diagram showing an example of an image size setting method for setting an image size of a tile image so that the image size and bit rate of the tile image are equal to or less than the target image size and the target bit rate, respectively.
- the overall image size horizontal input_width and the overall image size vertical input_height, and the align size horizontal align_width and the align size vertical align_height are used to set the image size of the tile image.
- the image quality bit_per_pixel described in FIG. 27 is used to set the image size of the tile image. Used.
- the target image size horizontal target_width and the target image size vertical target_height described in FIG. 25 and the target bit amount target_bit_per_tile as the target bit rate described in FIG. 27 are used for setting the image size of the tile image. Be done.
- the setting unit 111 sets the number of pixels in the horizontal direction of the tile image according to the overall image size horizontal input_width and the overall image size vertical input_height, the target image size horizontal target_width and the target image size vertical target_height, the image quality bit_per_pixel, and the target bit amount target_bit_per_tile. And the number of pixels in the vertical direction is equal to or less than the target image size horizontal target_width and the target image size vertical target_height, and the bit rate (data amount) tile_width * tile_height * bit_per_pixel of the tile image is the target as the target bit rate.
- the setting unit 111 obtains the maximum tile_width and tile_height that are integral multiples of the align size horizontal align_width and the align size vertical align_height, respectively, and sets the tile image image size horizontal tile_width and image size vertical tile_height, respectively. Set.
- the target image size horizontal target_width and target image size vertical target_height, and the target bit amount target_bit_per_tile as the target bit rate may be limited depending on the profile, level, and tier of the codec supported by the node or the like.
- the target image size horizontal target_width, the target image size vertical target_height, and the target bit amount target_bit_per_tile as the target bit rate are limited to predetermined values by the profile of the codec, the target image size horizontal target_width limited to the predetermined values.
- the image size horizontal tile_width and the image size vertical tile_height of the tile image are set according to the equation (3) according to the target image size vertical target_height and the target bit amount target_bit_per_tile as the target bit rate.
- FIG. 29 is a block diagram showing a configuration example of an embodiment of a computer in which a program for executing the above-mentioned series of processes is installed.
- the program can be recorded in advance on the hard disk 905 or ROM 903 as a recording medium built in the computer.
- the program can be stored (recorded) in the removable recording medium 911 driven by the drive 909.
- a removable recording medium 911 can be provided as so-called package software.
- examples of the removable recording medium 911 include a flexible disc, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, and a semiconductor memory.
- the program can be installed on the computer from the removable recording medium 911 as described above, or can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 905. That is, for example, the program transfers wirelessly from a download site to a computer via an artificial satellite for digital satellite broadcasting, or transfers to a computer by wire via a network such as LAN (Local Area Network) or the Internet. be able to.
- LAN Local Area Network
- the computer has a built-in CPU (Central Processing Unit) 902, and the input / output interface 910 is connected to the CPU 902 via the bus 901.
- CPU Central Processing Unit
- the CPU 902 executes the program stored in the ROM (Read Only Memory) 903 accordingly. .. Alternatively, the CPU 902 loads the program stored in the hard disk 905 into the RAM (Random Access Memory) 904 and executes it.
- ROM Read Only Memory
- the CPU 902 performs processing according to the above-mentioned flowchart or processing performed according to the above-mentioned block diagram configuration. Then, the CPU 902 outputs the processing result from the output unit 906, transmits it from the communication unit 908, and further records it on the hard disk 905, if necessary, via the input / output interface 910.
- the input unit 907 is composed of a keyboard, a mouse, a microphone, and the like. Further, the output unit 906 is composed of an LCD (Liquid Crystal Display), a speaker, or the like.
- LCD Liquid Crystal Display
- the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program also includes processing executed in parallel or individually (for example, parallel processing or processing by an object).
- the program may be processed by one computer (processor) or may be distributed processed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
- this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and jointly processed.
- each step described in the above flowchart can be executed by one device or shared by a plurality of devices.
- one step includes a plurality of processes
- the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
- the image size of the tile image is set according to the target image size or the target bit rate of the tile image forming the grid image stored in the HEIF (High Efficiency Image File Format) file, and the tile image of the image size is set.
- An image processing device including an image processing unit that generates an image.
- the image processing unit sets the image size of the tile image so that the image size or bit rate of the tile image is equal to or less than the target image size or the target bit rate.
- ⁇ 3> The image processing device according to ⁇ 1> or ⁇ 2>, wherein the image processing unit sets an image size of the tile image according to a parameter set according to a user operation.
- ⁇ 4> The image processing device according to ⁇ 1> or ⁇ 2>, wherein the image processing unit sets the image size of the tile image according to the image size of the grid image set according to the operation of the user.
- ⁇ 5> The image processing device according to ⁇ 3>, wherein the image processing unit sets an image size of the tile image according to the image quality of the tile image set according to a user operation.
- ⁇ 6> The image processing device according to any one of ⁇ 1> to ⁇ 5>, wherein the image processing unit sets the target image size or the target bit rate according to information from the outside.
- ⁇ 7> The image processing device according to ⁇ 6>, wherein the image processing unit sets the target image size or the target bit rate according to the operation of the user.
- ⁇ 8> The image processing device according to ⁇ 6>, wherein the image processing unit sets the target image size or the target bit rate according to information from an external device.
- the image processing unit sets the target image size or the target bit rate according to one or more of the profile, level, and tier of the codec supported by the external device. .. ⁇ 10>
- ⁇ 11> The image processing device according to ⁇ 8>, wherein the image processing unit sets the target image size or the target bit rate according to the performance of the external device.
- ⁇ 12> The image processing device according to ⁇ 1> to ⁇ 11>, wherein the image processing unit sets an image size of the tile image according to the target image size and the target bit rate.
- the image size of the tile image is set according to the target image size or the target bit rate of the tile image forming the grid image stored in the HEIF (High Efficiency Image File Format) file, and the tile image of the image size is set.
- Image processing methods that include generating.
- ⁇ 15> The image processing device according to ⁇ 14>, wherein the image processing unit sets an image size of the tile image according to a user's operation.
- ⁇ 16> The image processing device according to ⁇ 14>, wherein the image processing unit sets an image size of the tile image according to information from an external device.
- ⁇ 17> The image processing device according to ⁇ 16>, wherein the image processing unit sets the image size of the tile image according to one or more of the profile, level, and tier of the codec supported by the external device.
- ⁇ 18> The image processing device according to ⁇ 16>, wherein the image processing unit sets an image size of the tile image according to a connection method with the external device.
- ⁇ 19> The image processing device according to ⁇ 16>, wherein the image processing unit sets an image size of the tile image according to the performance of the external device.
- ⁇ 20> An image that includes setting the image size of a tile image that forms a grid image stored in a HEIF (High Efficiency Image File Format) file according to information from the outside and generating the tile image of that image size. Processing method.
- HEIF High Efficiency Image File Format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Graphics (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本技術は、適切な画サイズのタイル画像を得ることができるようにする画像処理装置及び画像処理方法に関する。 画像処理部は、HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、タイル画像の画サイズを設定し、その画サイズのタイル画像を生成する。本技術は、例えば、タイル画像が格納されるHEIFファイルを生成するディジタルカメラ等に適用することができる。
Description
本技術は、画像処理装置及び画像処理方法に関し、特に、例えば、適切な画サイズのタイル画像を得ることができるようにする画像処理装置及び画像処理方法に関する。
画像を、効率的に格納するファイルフォーマットとして、HEIF(High Efficiency Image File Format)がある(非特許文献1を参照)。
ISO/IEC 23008-12:2017, Information technology -- High efficiency coding and media delivery in heterogeneous environments -- Part 12: Image File Format
HEIFでは、アイテムタイプの1つとして、gridが定義されている。アイテムタイプがgridの画像(アイテム)は、1以上の入力画像をタイリング(tiling)することにより形成(form)される。アイテムタイプがgridの画像を、グリッド画像ともいい、グリッド画像を形成する入力画像を、タイル画像ともいう。
HEIFでは、グリッド画像を形成するタイル画像の画サイズについては、同一の画サイズとすることが規定されているが、どのような画サイズにするかは規定されていない。
本技術は、このような状況に鑑みてなされたものであり、適切な画サイズのタイル画像を得ることができるようにするものである。
本技術の第1の画像処理装置は、HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成する画像処理部を備える画像処理装置である。
本技術の第1の画像処理方法は、HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成することを含む画像処理方法である。
本技術の第1の画像処理装置及び画像処理方法においては、HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズが設定され、その画サイズの前記タイル画像が生成される。
本技術の第2の画像処理装置は、HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成する画像処理部を備える画像処理装置である。
本技術の第2の画像処理方法は、HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成することを含む画像処理方法である。
本技術の第2の画像処理装置及び画像処理方法においては、HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズが、外部からの情報に応じて設定され、その画サイズの前記タイル画像が生成される。
なお、画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、画像処理装置は、コンピュータにプログラムを実行させることにより実現することができる。プログラムは、記録媒体に記録して、又は、伝送媒体を介して伝送することにより、提供することができる。
<本技術を適用したディジタルカメラの一実施の形態>
図1は、本技術を適用したディジタルカメラの一実施の形態の構成例を示すブロック図である。
ディジタルカメラ10は、光学系11、イメージセンサ12、信号処理部13、メディア14、I/F(Interface)15及び16、ボタン/キー17、タッチパネル18、液晶パネル19、ビューファインダ20、並びに、I/F21等を有する。
光学系11は、被写体からの光を、イメージセンサ12に集光する。
イメージセンサ12は、光学系11からの光を受光し、光電変換する撮像を行うことで、電気信号としての画像のデータを生成し、信号処理部13に供給する。
信号処理部13は、光学系/イメージセンサ制御部41、符号化制御部42、ファイル制御部43、メディア制御部44、操作制御部45、表示制御部46、及び、UI制御部47を有する。
光学系/イメージセンサ制御部41は、光学系11及びイメージセンサ12を制御し、その制御に従って行われる撮像により得られる画像(のデータ)を、符号化制御部42に供給する。
符号化制御部42は、光学系/イメージセンサ制御部41からの画像を表示制御部46に供給するとともに、必要に応じて符号化し、ファイル制御部43に供給する。また、符号化制御部42は、ファイル制御部43から供給される画像を必要に応じて復号し、表示制御部46に供給する。
ファイル制御部43は、符号化制御部42から供給される画像を格納したファイルを生成し、メディア制御部44に供給する。また、ファイル制御部43は、メディア制御部44から供給されるファイルの再生、すなわち、ファイルに格納された画像等のデータの読み出し等を行う。例えば、ファイルから読み出された画像は、ファイル制御部43から符号化制御部42に供給される。
メディア制御部44は、メディア14、並びに、I/F15及び16との間でのファイルのやりとりを制御する。例えば、メディア制御部44は、ファイル制御部43からのファイルを、メディア14に記録させ、又は、I/F15及び16から送信させる。また、メディア制御部44は、メディア14からファイルを読み出し、又は、I/F15及び16にファイルを受信させ、ファイル制御部43に供給する。
操作制御部45は、ユーザによるボタン/キー17やタッチパネル18の操作に応じて、その操作に対応する操作信号を、必要なブロックに供給する。
表示制御部46は、符号化制御部42から供給される画像等を、液晶パネル19や、ビューファインダ20、I/F21に供給して表示させる表示制御等を行う。
UI制御部47は、UI(User Interface)制御をつかさどる。
メディア14は、例えば、SDカード等の記憶媒体である。I/F15は、例えば、WiFi(登録商標)やイーサネット(登録商標)等のLAN(Local Area Network)のI/Fである。I/F16は、例えば、USB(Universal Serial Bus)のI/Fである。ボタン/キー17及びタッチパネル18は、ディジタルカメラ10に指令その他の情報を入力するときに、ユーザによって操作される。タッチパネル18は、液晶パネル19と一体的に構成することができる。液晶パネル19及びビューファインダ20は、表示制御部46から供給される画像等を表示する。I/F21は、HDMI(High-Definition Multimedia Interface)(登録商標)やDP(Display Port)等の少なくとも画像を伝送するI/Fである。
以上のように構成されるディジタルカメラ10では、光学系/イメージセンサ制御部41は、イメージセンサ12の撮像により得られるRAWデータの画像(以下、RAW画像ともいう)から、例えば、そのRAW画像と同一の解像度(画素数)(サイズ)のYUVの画像を生成し、RAW画像とともに、符号化制御部42に供給する。符号化制御部42は、光学系/イメージセンサ制御部41からのYUVの画像から、HEIFファイルの主画像(master image)等を生成する。例えば、光学系/イメージセンサ制御部41からのYUVの画像を、そのままHEIFファイルの主画像とすることができる。
符号化制御部42は、YUVの主画像から、液晶パネル19や外部のディスプレイでの表示の用途用に、主画像に基づく第1の他の画像としての、例えば、主画像よりも解像度が低いYUVの画像(以下、スクリーンネイル画像ともいう)を生成するとともに、インデクス表示(一覧表示)の用途用に、主画像に基づく第2の他の画像としての、例えば、スクリーンネイル画像よりも解像度が低いYUVの画像(以下、サムネイル画像ともいう)を生成する。符号化制御部42は、例えば、スクリーンネイル画像を、表示制御部46を介して、液晶パネル19に供給し、いわゆるスルー画として表示させる。サムネイル画像としては、例えば、長辺が320ピクセル以下のサイズの画像を採用することができる。主画像と、主画像に基づく第1の他の画像としてのスクリーンネイル画像、又は、主画像に基づく第2の他の画像としてのサムネイル画像とのサイズ(ピクセル数)の比率は、例えば、200倍以下にすることができる。主画像に基づく第1の他の画像としてのスクリーンネイル画像と、主画像に基づく第2の他の画像としてのサムネイル画像とのサイズの比率も、同様に、200倍以下とすることができる。スクリーンネイル画像としては、例えば、解像度が4K以上の画像を採用することができる。また、スクリーンネイル画像としては、例えば、ユーザの選択に応じて、4K(QFHD)又はFHDの画像を採用することができる。さらに、主画像とスクリーンネイル画像としては、同一の解像度の画像を採用することができる。主画像とスクリーンネイル画像として、同一の解像度の画像を採用する場合、HEIFファイルには、主画像とスクリーンネイル画像との両方を格納することもできるし、スクリーンネイル画像を格納せずに、主画像を格納することができる。HEIFファイルに、スクリーンネイル画像を格納せずに、主画像を格納する場合には、主画像をリサイズして、スクリーンネイル画像として用いることができる。
また、符号化制御部42は、RAW画像に対応する主画像、スクリーンネイル画像、及び、サムネイル画像(同一のRAW画像から生成された主画像、スクリーンネイル画像、及び、サムネイル画像)を、必要に応じて符号化し、RAW画像とともに、ファイル制御部43に供給する。
ファイル制御部43は、必要に応じて、RAW画像が格納されたRAWファイルや、対応する主画像、スクリーンネイル画像、及び、サムネイル画像(同一のRAW画像から生成された主画像、スクリーンネイル画像、及び、サムネイル画像)が格納されたHEIFファイル、及び/又は、JPEGファイル等を生成し、メディア制御部44に供給する。HEIFファイルとは、HEIF(High Efficiency Image File Format)に準拠したファイルであり、JPEGファイルとは、JPEG(Joint Photographic Experts Group)に準拠したファイルである。
メディア制御部44は、ファイル制御部43からのRAWファイルや、HEIFファイル、JPEGファイルを、メディア14に記録し、あるいは、I/F15又は16から送信させる。
ファイル制御部43において生成するファイルの種類(例えば、RAWファイルや、HEIFファイル、JPEGファイル等)は、例えば、ユーザの操作(指定)に応じて選択することができる。また、HEIFファイルには、後述するように、イメージアイテム形式とイメージシーケンス形式とがあるが、イメージアイテム形式とイメージシーケンス形式とのいずれを採用するかは、例えば、ユーザの操作に応じて選択することができる。さらに、ファイル制御部43では、ユーザの操作に応じて、HEIFファイルとJPEGファイルとの間の相互変換を行うことができる。
また、ファイル制御部43では、コーデックや、画像のサイズ(解像度)、カラーフォーマット、ビット深度が異なる、同一の画像内容の複数のファイルを生成することができる。
ファイル制御部43において、同一の画像内容の複数のファイルを生成する場合、符号化制御部42では、光学系/イメージセンサ制御部41からのYUVの画像から、複数のファイルそれぞれに格納される画像のストリーム(ファイルストリーム)が生成される。
符号化制御部42では、コーデックや、画像のサイズ(解像度)、カラーフォーマット、ビット深度が異なる画像のストリームを生成することができる。
例えば、符号化制御部42では、光学系/イメージセンサ制御部41から供給されるYUVの画像から、所定のサイズ、所定のカラーフォーマット、及び、所定のビット深度の画像を生成し、その画像を、所定のコーデック(符号化方式)で符号化した第1のストリームを生成することができる。さらに、符号化制御部42では、光学系/イメージセンサ制御部41から供給される同一のYUVの画像から、他のサイズ、他のカラーフォーマット、及び、他のビット深度の画像を生成し、その画像を、他のコーデックで符号化した第2のストリームを生成することができる。
そして、ファイル制御部43では、第1のストリームを格納したファイルと、第2のストリームを格納したファイルとを生成することができる。
<JPEGファイル>
図2は、JPEG(Joint Photographic Experts Group)に準拠したJPEGファイルのフォーマットの例を示す図である。
JPEGファイルは、例えば、Exifのメタデータ、サムネイル画像、XMP(Extensible Metadata Platform)(登録商標)のメタデータ、主画像及び簡易表示用画像の格納場所(位置)等を表すMPF、主画像、並びに、簡易表示用画像が格納されて構成される。簡易表示用画像としては、例えば、スクリーンネイル画像を採用することができる。
<ISOベースメディアファイルフォーマット>
図3は、ISOベースメディアファイルフォーマットの例を示す図である。
HEIF(ISO/IEC 23008-12)は、ISOベースメディアファイルフォーマット(ISO/IEC 14496-12)に準拠したファイルフォーマットであり、したがって、HEIFファイルは、ISOベースメディアファイルフォーマットに準拠する。
ISOベースメディアファイルフォーマットは、データを格納するコンテナとしてのボックス(box)と呼ばれる単位で構成され、ボックス構造と呼ばれる構造を有する。
ボックスは、タイプ(box type)、及び、実データ(data)等を有する。タイプは、ボックス内の実データの種類を表す。実データとしては、画像(静止画、動画)や、オーディオ、字幕(サブタイトル)等の再生可能なメディアデータ、属性名(フィールド名)とその属性名(で表される変数)の属性値(フィールド値)、その他の各種のデータを採用することができる。
さらに、実データとしては、ボックスを採用することができる。すなわち、ボックスは、実データとして、ボックスを持つことができ、これにより、階層構造にすることができる。
ISOベースメディアファイルフォーマットに準拠したベースメディアファイルは、ftypボックス、moovボックス(MovieBox)、metaボックス(MetaBox)、及び、mdatボックス(MediaDataBox)等を有することができる。ftypボックスには、ファイルフォーマットを識別する識別情報が格納される。moovボックスは、trakボックス等を格納することができる。metaボックスは、iinfボックス、iprpボックス、irefボックス、ilocボックス等を格納することができる。mdatボックスは、メディアデータ(AVデータ)、その他任意のデータを格納することができる。
HEIFは、以上のようなISOベースメディアファイルフォーマットに準拠する。
<HEIFファイル>
図4は、HEIFに準拠したHEIFファイルのフォーマットの例を示す図である。
HEIFファイルには、大きく分けて、イメージアイテム形式と、イメージシーケンス形式とがある。さらに、イメージアイテム形式には、後述するアイテムを1つだけ有するシングルイメージ形式と、アイテムを複数有するイメージコレクション形式とがある。
イメージアイテム形式のHEIFファイルは、ftypボックス、metaボックス、及び、mdatボックスを有する。
イメージシーケンス形式のHEIFファイルは、ftypボックス、moovボックス、及び、mdatボックスを有する。
なお、HEIFファイルは、metaボックス及びmoovボックスのうちの一方だけでなく、両方を有することもできる。
ftypボックスには、ファイルフォーマットを識別する識別情報、例えば、ファイルがイメージアイテム形式又はイメージシーケンス形式のHEIFファイルであること等が格納される。
metaボックス及びmoovボックスには、mdatボックスに格納されるメディアデータの再生や管理等に必要な、例えば、メディアデータの格納場所等のメタデータが格納される。
mdatボックスには、メディアデータ(AVデータ)等が格納される。
ディジタルカメラ10において、イメージアイテム形式とイメージシーケンス形式とのHEIFファイルのうちのいずれのHEIFファイルを生成するかは、例えば、ユーザの操作に応じて選択することができる。また、HEIFファイルのmdatボックスに、画像を符号化して格納する場合には、イメージアイテム形式については、イントラ符号化のみが許され、イメージシーケンス形式については、イントラ符号化及びインター符号化が許される。したがって、例えば、HEIFファイルに格納されたデータへの高速アクセスを優先する場合には、イメージアイテム形式のHEIFファイルの生成を選択し、HEIFファイルのサイズ(データ量)を小さくすることを優先する場合には、イメージシーケンス形式のHEIFファイルの生成を選択することができる。
図5は、イメージアイテム形式のHEIFファイルのフォーマットの例を示す図である。
イメージアイテム形式のHEIFファイルでは、ftypボックスに、イメージアイテム形式のHEIFファイルであることを表す情報、例えば、mif1等が(属性値として)格納される。
metaボックスには、iinfボックス、irefボックス、iprpボックス、及び、ilocボックスが格納される。
iinfボックスには、mdatボックスに格納されたメディアデータ(AVデータ)であるアイテムの数(を表す属性名と属性値)等が格納される。アイテムとは、イメージアイテム形式のHEIFファイルのmdatボックスに格納される1つのデータであり、例えば、1枚(画面)の画像が、アイテムである。本明細書では、静止画及び動画にかかわらず、画像の1枚を、フレームともいう。1フレームは、1アイテムである。
irefボックスには、アイテムどうしの関連を表す情報が格納される。例えば、mdatボックスには、対応する主画像、スクリーンネイル画像、及び、サムネイル画像のそれぞれをアイテムとして格納することができる。mdatボックスに、主画像としてのアイテムI1、スクリーンネイル画像としてのアイテムI2、及び、サムネイル画像としてのアイテムI3が格納される場合、irefボックスには、アイテムI2がアイテムI1としての主画像のスクリーンネイル画像であることを表す情報や、アイテムI3がアイテムI1としての主画像のサムネイル画像であることを表す情報が格納される。
iprpボックスには、アイテムのプロパティに関する情報が格納される。
ilocボックスには、mdatボックスに格納されたアイテムの格納場所に関する情報が格納される。
イメージアイテム形式の(HEIFファイルの)mdatボックスには、アイテムとしての、例えば、画像のフレームが格納される。mdatボックスには、1個以上のアイテムを格納することができる。また、mdatボックスには、アイテムとしてのフレームを符号化して格納することができる。但し、イメージアイテム形式のmdatボックスに格納するアイテムとしてのフレームの符号化は、イントラ符号化に制限される。アイテムとしてのフレームを符号化する符号化方式(コーデック)としては、例えば、HEVC等を採用することができる。
図6は、図5のiprpボックスの例を示す図である。
iprpボックスには、アイテムのプロパティに関するipcoボックス及びipmaボックスが格納される。ipcoボックスには、mdatボックスに格納されたアイテムのプロパティ、例えば、アイテムとしての画像のコーデックに関するコーデック情報やサイズに関する画サイズ情報が格納される。ipmaボックスには、mdatボックスに格納されたアイテムの、ipcoボックスに格納されたプロパティへのインデクス(ポインタ)が格納される。
図7は、イメージシーケンス形式のHEIFファイルのフォーマットの例を示す図である。
イメージシーケンス形式のHEIFファイルでは、ftypボックスに、イメージシーケンス形式のHEIFファイルであることを表す情報、例えば、msf1等が格納される。
moovボックスには、trakボックスが格納される。trakボックスには、mdatボックスに格納されるトラックに関する情報が格納される。
トラックは、画像や音声等の1つの独立した、タイムラインに従って再生されるメディアデータで構成される。例えば、トラックは、エレメンタリストリームとなる1フレーム以上の画像で構成される。mdatボックスに格納されるトラックについては、複数のトラック、例えば、同時に記録された画像及び音声それぞれのトラックを、同時に再生することができる。
トラックのメディアデータは、サンプルと呼ばれる単位で構成される。サンプルとは、HEIFファイル内のメディアデータにアクセスする場合の、最小の単位(アクセス単位)である。したがって、サンプルより細かい単位で、HEIFファイル内のメディアデータにアクセスすることはできない。
画像のメディアデータについては、例えば、1フレーム等が、1サンプルとなる。また、音声のメディアデータについては、例えば、その音声のメディアデータの規格で定められた1オーディオフレーム等が、1サンプルとなる。
イメージシーケンス形式の(HEIFファイルの)mdatボックスにおいて、トラックのメディアデータは、チャンク(chunk)と呼ばれる単位で配置される。チャンクは、論理的に連続したアドレスに配置される1以上のサンプルの集合である。
mdatボックスに、メディアデータとしての複数のトラックが格納される場合、その複数のトラックは、チャンク単位で、インターリーブして配置される。
以上のように、イメージシーケンス形式のmdatボックスには、画像や音声等のメディアデータで構成される1以上のトラックが格納される。
mdatボックスには、トラックを構成する画像のフレームを符号化して格納することができる。イメージシーケンス形式のmdatボックスに格納するトラックを構成するフレームの符号化には、GOP(Group of Picture)として、long GOPを採用するとともに、イントラ符号化及びインター符号化のいずれをも採用することができる。トラックを構成するフレームを符号化するコーデックとしては、例えば、HEVC等を採用することができる。
図8は、trakボックスの例を示す図である。
trakボックスには、tkhdボックス及びmdiaボックスを格納することができる。tkhdボックスには、trakボックスが管理するトラックの作成日時等の、トラックのヘッダ情報が格納される。mdiaボックスには、minfボックス等が格納される。minfボックスには、stblボックスが格納される。stblボックスには、トラックのサンプル、ひいては、チャンクにアクセスするための情報が格納されるstsdボックス、stscボックス、stszボックス、及び、stcoボックスが格納される。stsdボックスには、トラックのコーデックに関するコーデック情報が格納される。stscボックスには、チャンクサイズ(1チャンクのサンプル数)が格納される。stszボックスには、サンプルサイズが格納される。stcoボックスには、チャンクオフセット、すなわち、mdatボックスに格納されたトラックの各チャンクの配置位置のオフセットが格納される。
ここで、イメージアイテム形式のHEIFファイルを、コレクションファイルともいい、イメージシーケンス形式のHEIFファイルを、シーケンスファイルともいう。
ディジタルカメラ10では、主画像、さらには、必要なスクリーンネイル画像、及び、サムネイル画像のうちの一方又は両方が格納されたHEIFファイルを生成することができる。
<コレクションファイル>
図9は、主画像及びサムネイル画像が格納されたコレクションファイルの例を示す図である。
いま、コレクションファイルのmdatボックスには、フレーム(アイテム)がHEVCで符号化されて格納されることとする。
ftypボックスには、ファイルフォーマットを識別する識別情報として、イメージアイテム形式であることと、コーデックがHEVCであることとを表すheicが格納される。
iinfボックスには、mdatボックスに格納されたアイテムの数(アイテム数)が格納される。図9では、アイテムID#1で特定される主画像(以下、主画像Item#1のようにも記載する)、主画像Item#2、アイテムID#101で特定されるサムネイル画像(以下、サムネイル画像Item#101のようにも記載する)、サムネイル画像Item#102の合計で4個のアイテム(フレーム)が、mdatボックスに格納されている。したがって、アイテム数は4である。なお、サムネイル画像Item#101は、主画像Item#1のサムネイル画像であり、サムネイル画像Item#102は、主画像Item#2のサムネイル画像である。
iinfボックスには、さらに、例えば、mdatボックスに格納されたアイテムごとに、infeボックスが格納される。infeボックスには、アイテムを特定するアイテムIDと、アイテムタイプとが登録される。図9では、主画像Item#1及びItem#2、並びに、サムネイル画像Item#101及びItem#102それぞれのinfeボックスが存在する。
irefボックスには、mdatボックスに格納されたアイテムどうしを関連付ける情報として、例えば、thmbボックスが格納される。thmbボックスは、主画像とその主画像のサムネイル画像とを関連付ける情報としての参照元と参照先とが対応付けられて格納される。thmbボックスにおいて、参照元は、主画像のアイテムIDを表し、参照先は、参照元のアイテムIDで特定される主画像のサムネイル画像のアイテムIDを表す。したがって、参照元に対応付けられている参照先によれば、参照元が表すアイテムIDで特定される主画像のサムネイル画像のアイテムIDを認識することができる。また、参照先に対応付けられている参照元によれば、参照先が表すアイテムIDで特定されるサムネイル画像の主画像のアイテムIDを認識することができる。
iprpボックスには、図6で説明したように、ipcoボックス及びipmaボックスが格納される。ipcoボックスには、図6で説明したように、mdatボックスに格納されたアイテムとしてのフレームのプロパティ、例えば、コーデックに関するコーデック情報やサイズに関する画サイズ情報が格納される。ipmaボックスには、図6で説明したように、mdatボックスに格納されたアイテムの、ipcoボックスに格納されたプロパティへのインデクスが格納される。
ilocボックスには、図6で説明したようにmdatボックスにおけるアイテムの格納場所に関する情報が格納される。図9では、ilocボックスには、アイテム数が4であることが格納されている。さらに、ilocボックスには、mdatボックスに格納された主画像Item#1及びItem#2、並びに、サムネイル画像Item#101及びItem#102それぞれの格納場所へのオフセット及びサイズがアイテムIDと対応付けられて格納されている。
<シーケンスファイル>
図10は、主画像のトラック及びその主画像のサムネイル画像のトラックが格納されたシーケンスファイルの例を示す図である。
いま、シーケンスファイルのmdatボックスには、フレームがHEVCで符号化されて格納されることとする。
ftypボックスには、ファイルフォーマットを識別する識別情報として、イメージシーケンス形式であることと、コーデックがHEVCであることとを表すhevcが格納される。
moovボックスには、図7で説明したように、mdatボックスに格納されるトラックそれぞれを管理するtrakボックスが格納される。図10では、トラックID#1で特定される主画像のトラック(以下、トラック#1のようにも記載する)、及び、トラック#1の主画像のサムネイル画像のトラック#2が、mdatボックスに格納されている。したがって、moovボックスには、トラック#1を管理するtrakボックスと、トラック#2を管理するtrakボックスとが格納される。トラック#2の(先頭から)n番目のサムネイル画像(のフレーム)は、トラック#1のn番目の主画像のサムネイル画像である。
シーケンスファイルは、例えば、ディジタルカメラ10で連写が行われた場合に、その連写で得られる複数フレームの主画像及びサムネイル画像を、それぞれ、1トラックとして記録する場合等に有用である。
主画像のトラック#1を管理するtrakボックスのtkhdボックスには、トラック#1を特定するトラックID#1、トラック#1を構成する主画像の画サイズ、主画像が撮像されたときのディジタルカメラ10の向きを表す回転情報、及び、トラック#1の作成日時が格納される。サムネイル画像のトラック#2を管理するtrakボックスのtkhdボックスには、トラック#2を特定するトラックID#2、及び、トラック#2の作成日時が格納される。
trakボックスには、図7で説明したtkhdボックス及びmdiaボックスの他に、trefボックスを格納することができる。trefボックスには、そのtrefボックスが格納されたtrakボックスが管理するトラックと関連する他のトラックを特定するトラックID、及び、トラックの内容を表す情報等が格納される。図10では、トラック#2を管理するtrakボックスの中に、trefボックスが設けられている。そして、そのtrefボックスには、トラック#2と関連する他のトラックがトラック#1であること(track_ID=1)、及び、トラック#2を構成するデータがサムネイル画像であること(トラック#2がサムネイル画像のトラックであること)(type=thmb)を表す情報が格納されている。
trakボックスのmdiaボックスには、図8で説明したminfボックスの他、hdlrボックスを格納することができる。hdlrボックスには、そのhdlrボックスが格納されたtrakボックスが管理するトラックを構成するデータの種別を表す情報が格納される。主画像のトラック#1を管理するtrakボックスに(格納されるmdiaボックスに)格納されるhdlrボックスには、トラック#1を構成するデータがピクチャ(フレーム)であることを表す情報(pict)が格納され、サムネイル画像のトラック#2を管理するtrakボックスに格納されるhdlrボックスには、トラック#2を構成するデータがピクチャであることを表す情報が格納される。
minfボックスについては、図8で説明した通りである。
<タイル画像が格納されたHEIFファイル>
図11は、タイル画像が格納されたHEIFファイルの例を示す図である。
ここで、前述したように、HEIFのアイテムタイプの1つとして、gridがある。アイテムタイプがgridの画像(アイテム)であるグリッド画像は、1以上のタイル画像をタイリングすることにより形成される。
タイル画像としては、例えば、ディジタルカメラ10等で撮像された画像を分割して得られる分割画像を採用することができる。
また、タイル画像としては、ディジタルカメラ10等で撮像された画像そのものを採用し、そのようなタイル画像の1以上から、グリッド画像を形成することができる。例えば、複数のカメラで撮像された複数の画像をタイル画像として、そのような複数のタイル画像からグリッド画像を形成することができる。
以下では、説明を分かりやすくするため、特に断らない限り、ディジタルカメラ10等で撮像された画像を分割して得られる分割画像を、タイル画像として採用することとする。
アイテムタイプがgridのグリッド画像については、そのグリッド画像を形成する(1以上の)タイル画像それぞれがアイテムとして、HEIFファイルに格納される。
なお、グリッド画像については、グリッド画像そのものがHEIFファイルに格納されるのではなく、グリッド画像を形成するタイル画像がHEIFファイルに格納される。但し、本明細書では、便宜上、タイル画像が格納されたHEIFファイルを、そのタイル画像から形成されるグリッド画像が格納されたHEIFファイルともいう。
図11は、グリッド画像(を形成するタイル画像)が格納されたHEIFファイルの例を示している。
図11のHEIFファイルでは、例えば、ディジタルカメラ10で撮像された画像(以下、撮像画像ともいう)を3×3(横×縦)個に分割することにより得られる9個の画像をタイル画像Item#1ないしItem#9として、そのタイル画像Item#1ないしItem#9が、アイテムとして、mdatボックスに格納されている。
図11において、mdatボックスに格納されたアイテムは、タイル画像Item#1ないしItem#9の9個のアイテムであるが、iinfボックス及びilocボックス内のアイテム数は10になっている。これは、タイル画像Item#1ないしItem#9の9個のアイテムの他に、そのタイル画像Item#1ないしItem#9から形成されるグリッド画像(再構成画像)をアイテムとしてカウントするためである。図11では、グリッド画像のアイテムIDは10になっており、説明の便宜上、かかるグリッド画像を、グリッド画像Item#10とも記載する。
グリッド画像Item#10については、メディアデータがmdatボックスに格納されず、代わりに、metaボックスに、idatボックスが格納される。idatボックスには、タイル数横、タイル数縦、output_width、及び、output_height等のグリッド画像のメタデータが格納される。
タイル数横及びタイル数縦は、グリッド画像Item#10を構成するタイル画像#1ないし#9の横方向及び縦方向の数をそれぞれ表す。
output_width、及び、output_heightは、グリッド画像を形成するタイル画像がタイリング(配置)される画像領域であるキャンバスの横及び縦のサイズ(画素数)を表す。タイル画像の横及び縦の画素数を、tile_width及びtile_heightとそれぞれ表すこととすると、tile_width×タイル数横は、output_width以上であり、tile_height×タイル数縦は、output_height以上である必要がある。
さらに、グリッド画像Item#10については、ilocボックスに、そのグリッド画像Item#10の格納場所に関する情報(オフセット及びサイズ)が格納されるが、この情報は、グリッド画像Item#10のidatボックスの格納場所を表す。
図11のHEIFファイルは、タイル画像Item#1ないしItem#9と、そのタイル画像Item#1ないしItem#9から形成されるタイル画像Item#10との10個のアイテムが格納されていることに応じて、10個のinfeボックスを有する。図9で説明したように、infeボックスには、アイテムを特定するアイテムIDと、アイテムタイプとが格納(登録)されるが、グリッド画像Item#10のinfeボックスには、グリッド画像Item#10のアイテムタイプとして、グリッドアイテムを表すgridが格納される。アイテムタイプがgridのアイテム、ここでは、グリッド画像Item#10は、グリッドアイテムと呼ばれる。
グリッドアイテムが格納されるHEIFファイルでは、irefボックスに、dimgボックスが格納される。dimgボックスには、グリッドアイテムと、そのグリッドアイテムを構成するタイル画像とを関連付ける情報が格納される。例えば、dimgボックスには、タイル画像のアイテムIDが参照先として格納されるとともに、そのタイル画像から形成されるグリッド画像のアイテムIDが参照元として格納される。図11では、タイル画像Item#1ないしItem#9のアイテムID#1ないし#9が参照先として格納され、グリッド画像Item#10のアイテムID#10が参照元として格納されている。その他、dimgボックスには、グリッド画像を形成するタイル画像の数を表す参照カウンタが格納される。
以上のようなHEIFファイルについては、ファイル制御部43は、グリッド画像Item#10のinfeボックスに格納されたアイテムタイプgridから、グリッド画像Item#10が1以上のタイル画像から形成されるグリッドアイテム(再構成画像)であることを認識することができる。さらに、ファイル制御部43は、dimgボックスに格納された参照元と参照先とから、タイル画像から形成されるグリッド画像Item#10のアイテムID#10と、そのグリッド画像Item#10の形成に用いられるタイル画像Item#1ないしItem#9のアイテムID#1ないし#9とを特定することができる。また、ファイル制御部43は、idatボックスに格納されたタイル数横及びタイル数縦、並びに、output_width及びoutput_heightから、グリッド画像#10を形成するタイル画像#1ないし#9の横方向及び縦方向の数、並びに、グリッド画像#10を形成する際にタイル画像#1ないし#9を配置するキャンバスの横方向及び縦方向のサイズを特定することができる。
ファイル制御部43は、dimgボックスから特定されたアイテムID#1ないし#9のタイル画像Item#1ないしItem#9から、idatボックスから特定された横方向及び縦方向の数のタイル画像を、idatボックスから特定されたサイズのキャンバスに配置することで、dimgボックスから特定されたアイテムID#10のグリッド画像Item#10を形成することができる。
以下、HEIFファイルに格納されるタイル画像の画サイズやビットレート(データ量)が制限されるユースケースについて説明する。
図12は、タイル画像の画サイズ又はビットレートが制限されるユースケースの例を示す図である。
タイル画像の画サイズ又はビットレートが制限される第1のユースケースとしては、例えば、HEIFファイルに格納されたタイル画像を、そのHEIFファイルを生成した機器以外の他の機器で再生する場合がある。この場合、他の機器の性能(再生能力)の範囲内で、ソフトウエア(SW)的又はハードウエア(HW)的に、タイル画像のデコード等の再生を行うことができるように、タイル画像の画サイズ又はビットレートが制限される。例えば、インテル社のCPUは、世代によりハードウエアデコードが可能な画サイズの範囲等の性能が異なる。かかるCPUでタイル画像を再生する場合、CPUの性能により、タイル画像の画サイズ等が制限される。
タイル画像の画サイズ又はビットレートが制限される第2のユースケースとしては、例えば、タイル画像が格納されたHEIFファイルを、そのHEIFファイルを生成した機器から他の機器に転送する場合がある。この場合、HEIFファイルを生成した機器と他の機器とを接続する接続方法としての、例えば、通信規格(接続規格)に従うように、タイル画像の画サイズ又はビットレートが制限される。
タイル画像の画サイズ又はビットレートが制限される第3のユースケースとしては、例えば、複数のHEIFファイルそれぞれに格納されたタイル画像がまとめて格納された、それらのタイル画像からグリッド画像を形成することができる1個のHEIFファイルを生成する場合がある。この場合、タイル画像の画サイズが複数のHEIFファイルそれぞれのタイル画像すべてで同一のサイズになるように、タイル画像の画サイズ又はビットレートが制限される。
タイル画像の画サイズ又はビットレートが制限される第4のユースケースとしては、例えば、タイル画像を処理する処理ブロックとしての複数のノードにおいて、ノードごとに、1個のタイル画像を並列に符号化し、複数のノードそれぞれで符号化されたタイル画像が格納されたHEIFファイルを生成することを、あらかじめ決められた所定の時間内に行う場合がある。この場合、ノードでのタイル画像の符号化を含めたHEIFファイルの生成が、所定の時間内に完了することができるように、タイル画像の画サイズ又はビットレートが制限される。例えば、サイズが大きいイメージャでの連写で撮像された画像をグリッド画像として、そのグリッド画像を形成する複数のタイル画像を、複数のノードとしての(半導体)チップで処理する場合が該当する。
タイル画像の画サイズ又はビットレートが制限される第5のユースケースとしては、例えば、タイル画像を処理する処理ブロックとしての複数のノードにおいて、ノードごとに、1個のタイル画像を並列に復号し、複数のノードで復号された複数のタイル画像から形成されるグリッド画像を対象として、スライドショー再生やタイムラプス再生等を行う場合である。この場合、1枚(フレーム)の再生時間が制約されるので、その再生時間の制約を保証することができるように(再生時間内にグリッド画像を形成することができるように)、タイル画像の画サイズ又はビットレートが制限される。
タイル画像の画サイズ又はビットレートが制限される第6のユースケースとしては、例えば、タイル画像を処理する処理ブロックとしての複数のノードの個々のノードに、1個ずつのタイル画像を並列に符号化させて、転送帯域が限られた条件で転送させ、転送先でHEIFファイルを生成することを、あらかじめ決められた所定の時間内に行う場合である。この場合、限られた条件の転送帯域でタイル画像を転送して、所定の時間内にHEIFファイルの生成が完了することができるように、タイル画像の画サイズ又はビットレートが制限される。例えば、いわゆる学習リモートコマンダ(スマートリモートコマンダ)(WiFiリモートコマンダ)の操作に応じて、カメラからストレージに、HEIFファイルに格納されるタイル画像を転送する場合が該当する。
HEIFファイルに格納されるタイル画像の画サイズ又はビットレートは、その他、例えば、タイル画像を扱う機器が対応するコーデックのプロファイル、レベル、又は、ティアにより制限される。例えば、タイル画像の画サイズは、タイル画像を扱う機器が対応するコーデックのレベルに規定される画サイズに制限される。また、例えば、タイル画像のビットレートは、タイル画像を扱う機器が対応するコーデックのプロファイル、レベル、又は、ティアに規定されるビットレートに制限される。
なお、タイル画像を扱う機器が対応するクロマサンプリング(クロマフォーマット)やエンコーダツールに制限がある場合には、タイル画像のビットレートは、タイル画像を扱う機器が対応するクロマサンプリングやエンコーダツールを規定するプロファイルで規定されるビットレートに制限される。
ディジタルカメラ10において、タイル画像の画サイズを任意に設定すると、上述のようなタイル画像の画サイズ又はビットレートが制限されるユースケースにおいて不具合が生じることがある。
そこで、本技術では、タイル画像の画サイズを適切に設定し、そのように適切に設定された画サイズ(以下、設定画サイズともいう)のタイル画像を生成することができるようにする。
本技術では、設定画サイズを適切に設定することで、
・ディジタルカメラ10で撮像されたコンテンツとしてのグリッド画像を形成するタイル画像を他の機器で再生する際の再生互換性を保証すること
・ディジタルカメラ10から他の機器にグリッド画像を形成するタイル画像を転送する際に要求される、ディジタルカメラ10と他の機器との間で通信を行うための通信規格(接続規格)に従うこと
・複数のHEIFファイルに格納された、グリッド画像を形成するタイル画像を集めて、新たなグリッド画像を形成するタイル画像が格納されたHEIFファイルを生成する編集を、トランスコードなしで行うこと
・グリッド画像を形成する複数のタイル画像の符号化や復号を、複数のノードで並列に行う場合に、符号化後のタイル画像を格納したHEIFファイルを生成する生成時間や、復号後のタイル画像から形成されるグリッド画像を再生する再生時間を所定の時間内とすることを、ノードの性能、例えば、ノードがタイル画像を符号化するスループットや、タイル画像を復号(再生)するスループットに応じて保証すること
・ノードからタイル画像を転送する転送時間を所定の時間内とすることを、転送帯域(転送スループット)に応じて保証すること
等を実現する。
・ディジタルカメラ10で撮像されたコンテンツとしてのグリッド画像を形成するタイル画像を他の機器で再生する際の再生互換性を保証すること
・ディジタルカメラ10から他の機器にグリッド画像を形成するタイル画像を転送する際に要求される、ディジタルカメラ10と他の機器との間で通信を行うための通信規格(接続規格)に従うこと
・複数のHEIFファイルに格納された、グリッド画像を形成するタイル画像を集めて、新たなグリッド画像を形成するタイル画像が格納されたHEIFファイルを生成する編集を、トランスコードなしで行うこと
・グリッド画像を形成する複数のタイル画像の符号化や復号を、複数のノードで並列に行う場合に、符号化後のタイル画像を格納したHEIFファイルを生成する生成時間や、復号後のタイル画像から形成されるグリッド画像を再生する再生時間を所定の時間内とすることを、ノードの性能、例えば、ノードがタイル画像を符号化するスループットや、タイル画像を復号(再生)するスループットに応じて保証すること
・ノードからタイル画像を転送する転送時間を所定の時間内とすることを、転送帯域(転送スループット)に応じて保証すること
等を実現する。
タイル画像の画サイズ(設定画サイズ)の設定は、ディジタルカメラ10の外部からの情報、例えば、ディジタルカメラ10のメニュー画面等に対するユーザの操作や、ディジタルカメラ10と通信を行う他の機器としての外部機器との間のネゴシエーションにより取得される外部機器の性能、ディジタルカメラ10と外部機器とが通信を行う際に従う接続方法としての通信規格等に応じて行うことができる。
図13は、第1のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図13では、ディジタルカメラ10で生成された、タイル画像が格納されたHEIFファイルが、外部機器としてのスマートフォンやPC(Personal Computer)等に転送され、その外部機器で、HEIFファイルに格納されたタイル画像が再生されるケースが示されている。
ディジタルカメラ10の製造メーカは、例えば、世界の再生環境を考慮して、ディジタルカメラ10のファームウエアを、外部からの情報としての新たなファームウエアに書き換えることで、タイル画像の画サイズを設定することができる。
例えば、スマートフォンやPC等の外部機器がいわゆる4K画像に対応していることが世界的な標準となったと認められる場合、ディジタルカメラ10の製造メーカは、タイル画像の画サイズを4K画像の画サイズに設定するように、ディジタルカメラ10のファームウエアを書き換えることができる。ディジタルカメラ10のファームウエアの書き換えは、I/F15を介した通信等により行うことができる。その後、例えば、外部機器がいわゆる8K画像に対応していることが世界的な標準となったと認められる場合、ディジタルカメラ10の製造メーカは、タイル画像の画サイズを8K画像の画サイズに設定するように、ディジタルカメラ10のファームウエアを書き換えることができる。
ディジタルカメラ10において、タイル画像の画サイズの設定は、外部からの情報としての、ディジタルカメラ10のメニュー画面に対するユーザの操作に応じて行うことができる。
例えば、HEIFファイルを、4K画像までの再生に対応しているスマートフォンに転送する場合には、ユーザは、メニュー画面を操作して、HEIFファイルに格納されるタイル画像の画サイズを、4K画像の画サイズ以下の画サイズに設定することができる。また、例えば、HEIFファイルを、8K画像までの再生に対応しているPCに転送する場合には、ユーザは、メニュー画面を操作して、HEIFファイルに格納されるタイル画像の画サイズを、8K画像の画サイズ以下の画サイズに設定することができる。
ディジタルカメラ10において、タイル画像の画サイズの設定は、ディジタルカメラ10に接続される外部機器としてのスマートフォンやPCの性能(再生能力)に応じて行うことができる。
例えば、ディジタルカメラ10を、4K画像までの再生に対応しているスマートフォンに接続し、HEIFファイルを転送する場合、ディジタルカメラ10は、スマートフォンとネゴシエーションを行い、そのネゴシエーションにより取得される、スマートフォンが4K画像までの再生に対応していることに応じて、HEIFファイルに格納されるタイル画像の画サイズを、4K画像の画サイズ以下の画サイズ(例えば、4K)に設定することができる。また、例えば、ディジタルカメラ10を、8K画像までの再生に対応しているPCに接続し、HEIFファイルを転送する場合、ディジタルカメラ10は、PCとネゴシエーションを行い、そのネゴシエーションにより取得される、PCが8K画像までの再生に対応していることに応じて、HEIFファイルに格納されるタイル画像の画サイズを、8K画像の画サイズ以下の画サイズ(例えば、8K)に設定することができる。
図14は、第2のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図14では、ディジタルカメラ10で生成された、タイル画像が格納されたHEIFファイルが、外部機器としてのPC(Personal Computer)-AやPC-B等に転送され、その外部機器で、HEIFファイルに格納されたタイル画像が再生されるケースが示されている。
ディジタルカメラ10において、タイル画像の画サイズの設定は、外部からの情報としての、外部機器が対応する通信規格に応じて行うことができる。
例えば、HEIFファイルを、コーデックのレベルが5.2までをサポートする通信規格Aに対応するPC-Aに転送する場合には、ディジタルカメラ10は、PC-Aが対応する通信規格Aに応じて、HEIFファイルに格納されるタイル画像の画サイズを、レベル5.2が対応する画サイズ以下の画サイズに設定することができる。また、例えば、HEIFファイルを、コーデックのレベルが6.2までをサポートする通信規格Bに対応するPC-Bに転送する場合には、ディジタルカメラ10は、PC-Bが対応する通信規格Bに応じて、HEIFファイルに格納されるタイル画像の画サイズを、レベル6.2が対応する画サイズ以下の画サイズに設定することができる。ディジタルカメラ10において、PC-A及びPC-Bが対応する通信規格は、例えば、ディジタルカメラ10とPC-A及びPC-Bそれぞれとのネゴシエーションにより取得することができる。
また、外部機器が複数の通信規格に対応している場合には、ディジタルカメラ10は、外部機器とのネゴシエーションにより、HEIFファイルを外部機器に転送するときの通信規格を決定し、その通信規格に応じて、HEIFファイルに格納されるタイル画像の画サイズを設定することができる。
図15は、第3のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図15では、複数としての4個のカメラで生成された4個のHEIFファイルそれぞれに格納されたタイル画像をまとめた新たなグリッド画像を形成することができるように、編集ソフトウエアにおいて、4個のHEIFファイルが1個のHEIFファイルに結合される(4個のHEIFファイルを結合した新たな1個のHEIFファイルが生成される)ケースが示されている。
編集ソフトウエアに入力される素材となる、編集前のHEIFファイルを生成する4個のカメラは、例えば、ディジタルカメラ10と同様に構成される。
編集ソフトウエアで生成される新たなHEIFファイルに格納される、新たなグリッド画像を形成するタイル画像は、HEIFの規格上、すべて、同一の画サイズである必要がある。そのため、編集前のHEIFファイルを生成する4個のカメラは、グリッド画像を形成するタイル画像の画サイズやクロマサンプリング等のパラメータセットとして、同一のパラメータセットを用いて、編集前のHEIFファイルを生成する。
図15では、4個のカメラそれぞれにおいて、同一の画サイズの画像(グリッド画像となる画像)が撮像され、その画像を2×2個(横×縦)に分割して得られるタイル画像が格納されたHEIFファイルが生成されている。そして、編集ソフトウエアでは、4個のカメラで生成されたHEIFファイルに格納されたタイル画像をまとめた新たなグリッド画像を形成することができるように、4個のカメラで生成されたHEIFファイルに格納されたタイル画像が格納された新たなHEIFファイルが生成されている。
4個のカメラは、同一のパラメータセットを用いて、編集前のHEIFファイルを生成するため、例えば、4個のカメラのうちの1個のカメラがマスタカメラに設定され、残りの3個のカメラがスレーブカメラに設定される。例えば、ユーザは、4個のカメラのうちの1個のカメラを操作して、マスタカメラに設定する。マスタカメラは、残りの3個のカメラと通信を行い、その3個のカメラをスレーブカメラに設定する。
マスタカメラは、タイル画像の画サイズを設定し、3個のスレーブカメラとの通信により、タイル画像の画サイズを指示する。他のカメラは、外部機器からの情報としてのマスタカメラからの指示に応じて、タイル画像の画サイズを、マスタカメラと同一の画サイズに設定する。
例えば、マスタカメラは、ユーザの操作に応じて、タイル画像の画サイズを設定することができる。また、例えば、マスタカメラは、3個のスレーブカメラとの通信により、外部機器からの情報としての3個のスレーブカメラのコーデックの性能、例えば、コーデックのプロファイル、レベル、及び、ティアの1以上を収集し、タイル画像の画サイズを、一番低い性能が対応する画サイズに設定することができる。
4個のカメラについては、そのうちの1個のカメラをマスタカメラに設定するとともに、残りの3個のカメラをスレーブカメラに設定する他、4台のカメラが、クラウド等の外部機器と通信を行うことができる場合には、クラウドからの指示に応じて、タイル画像の画サイズを設定することができる。クラウドは、4台のカメラに指示する画サイズを、例えば、マスタカメラと同様にして設定することができる。
また、4台のカメラが、編集ソフトウエア(が実装されるPC等のハードウエア)と通信を行うことができる場合には、4台のカメラは、編集ソフトウエアの機能や性能に応じて、タイル画像の画サイズを設定することができる。
図16は、第3のユースケースにおいて4個のカメラで生成される4個の編集前のHEIFファイルと、編集ソフトウエアにおいて、4個の編集前のHEIFファイルから生成される新たなHEIFファイルとの第1の例を示す図である。
図16では、4個のカメラにおいて、同一の画サイズの画像G1,G2,G3,G4が撮像され、その画像G1,G2,G3,G4を2×2個に分割して得られるタイル画像が格納されたHEIFファイル#1,#2,#3,#4が、編集前のHEIFファイルとして生成されている。
そして、図16では、編集前のHEIFファイル#1ないし#4に格納された2×2個のタイル画像が、左上、右上、左下、右下にそれぞれ配置された新たなグリッド画像が形成されるように、HEIFファイル#1ないし#4に格納されたタイル画像が格納されたHEIFファイル#0が、新たなHEIFファイルとして生成されている。
図17は、第3のユースケースにおいて4個のカメラで生成される4個の編集前のHEIFファイルと、編集ソフトウエアにおいて、4個の編集前のHEIFファイルから生成される新たなHEIFファイルとの第2の例を示す図である。
図17では、図16と同様に、4個のカメラにおいて、同一の画サイズの画像G1ないしG4が撮像され、その画像G1ないしG4を2×2個に分割して得られるタイル画像が格納された編集前のHEIFファイル#1ないし#4が生成されている。
ここで、HEIFファイル#iに格納された2×2個のタイル画像のうちの左上、右上、左下、右下のタイル画像を、タイル画像Ti1,Ti2,Ti3,Ti4とそれぞれ表すこととする。
図17では、タイル画像T11,T21,T31,T41が左上に、タイル画像T12,T22,T32,T42が右上に、タイル画像T13,T23,T33,T43が左下に、タイル画像T14,T24,T34,T44が右下に、それぞれ配置された新たなグリッド画像が形成されるように、新たなHEIFファイル#0が生成されている。
図18は、第3のユースケースにおいて4個のカメラで生成される4個の編集前のHEIFファイルと、編集ソフトウエアにおいて、4個の編集前のHEIFファイルから生成される新たなHEIFファイルとの第3の例を示す図である。
図18では、4個のカメラのうちの3個のカメラにおいて、図16と同様に、同一の画サイズの画像G1,G3,G4が撮像され、その画像G1,G3,G4を2×2個に分割して得られるタイル画像T11ないしT14,T31ないしT34,T41ないしT44が格納されたHEIFファイル#1,#3,#4が、編集前のHEIFファイルとして生成されている。
さらに、図18では、残りの1個のカメラにおいて、横及び縦がいずれも画像G1,G3,G4の3/2倍の画サイズの画像G2が撮像され、その画像G2を3×3個に分割して得られるタイル画像T21ないしT29が格納されたHEIFファイル#2が、編集前のHEIFファイルとして生成されている。
HEIFファイル#1ないし#4に格納されたタイル画像は、画サイズ等のパラメータセットが同一の画像になっている。
図18では、HEIFファイル#1に格納された2×2個のタイル画像T11ないしT14、HEIFファイル#2に格納された3×3個のタイル画像T21ないしT29から選択された2×2個のタイル画像T21ないしT24(図中、太枠で囲む部分)、HEIFファイル#3に格納された2×2個のタイル画像T31ないしT34、HEIFファイル#4に格納された2×2個のタイル画像T41ないしT44が、左上、右上、左下、右下にそれぞれ配置された新たなグリッド画像が形成されるように、HEIFファイル#1ないし#4に格納されたタイル画像T11ないしT14,T21ないしT24,T31ないしT34,T41ないしT44が格納された新たなHEIFファイル#0が生成されている。
HEIFファイル#2に格納された3×3個のタイル画像T21ないしT29のうちの、新たなHEIFファイル#0に格納される2×2個のタイル画像の選択は、例えば、編集ソフトウエアにおいて、ユーザの操作等に応じて行うことができる。
図19は、第3のユースケースにおいて4個のカメラで生成される4個の編集前のHEIFファイルと、編集ソフトウエアにおいて、4個の編集前のHEIFファイルから生成される新たなHEIFファイルとの第4の例を示す図である。
図19では、図18と同様に、編集前のHEIFファイル#1ないし#4が生成されている。
図19では、HEIFファイル#1に格納された2×2個のタイル画像T11ないしT14の右隣、下、右斜め下に、HEIFファイル#2に格納された3×3個のタイル画像T21ないしT29から図18と同様に選択された2×2個のタイル画像T21ないしT24、HEIFファイル#3に格納された2×2個のタイル画像T31ないしT34、HEIFファイル#4に格納された2×2個のタイル画像T41ないしT44がそれぞれ配置され、かつ、右端に、HEIFファイル#2に格納された3×3個のタイル画像T21ないしT29の残りのタイル画像T25ないしT29のうちの4個のタイル画像T25ないしT28が配置された新たなグリッド画像が形成されるように、HEIFファイル#1ないし#4に格納されたタイル画像T11ないしT14,T21ないしT28,T31ないしT34,T41ないしT44が格納された新たなHEIFファイル#0が生成されている。
新たなグリッド画像は、図18に示したように、HEIFファイル#1ないし#4それぞれに格納されたタイル画像から、同一の数のタイル画像(図18では、4個ずつのタイル画像)を配置して形成する他、図19に示したように、HEIFファイル#1ないし#4それぞれに格納されたタイル画像から、同一でない数のタイル画像(図19では、4個のタイル画像と8個のタイル画像)を配置して形成することができる。
図20は、第4のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図20では、タイル画像を処理する処理ブロックとしての複数のノードにおいて、1個ずつのタイル画像を並列で符号化し、1個のファイルHEIFファイルを生成することを、所定の時間内に行うケースが示されている。
すなわち、図20では、例えば、ディジタルカメラ10で撮像された画像を分割して得られる4個の各タイル画像を、各ノードで符号化し、符号化後のタイル画像を格納した1個のHEIFファイルを生成することが、所定の時間内に行われる。
ノードでのタイル画像の符号化、及び、符号化後のタイル画像を格納した1個のHEIFファイルの生成は、ディジタルカメラ10で行ってもよいし、ディジタルカメラ10の外部で行ってもよい。
図20において、各ノードでのタイル画像の符号化、及び、HEIFファイルの生成に要するトータルの処理時間は、ノードの性能(符号化のスループット)に影響され、そのトータルの処理時間を、所定の時間内に収めるためには、ノードの性能に応じて、ノードで処理されるタイル画像の画サイズやビットレート(データ量)を制限する必要がある。
そこで、タイル画像の画サイズ又はビットレートについては、ノードの性能に応じて、トータルの処理時間が所定の時間内に収まるように、目標(制限)となる目標画サイズ又は目標ビットレートを設定することができる。そして、目標画サイズ又は目標ビットレートに応じて、例えば、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、タイル画像の画サイズを設定することができる。
目標画サイズ又は目標ビットレートは、外部からの情報に応じて設定することができる。
例えば、ディジタルカメラ10では、ユーザの操作により入力されるノードの性能や所定の時間に応じて(ユーザの操作に応じて)、トータルの処理時間が所定の時間内に収まるように、目標画サイズ又は目標ビットレートを設定することができる。ノードが、ディジタルカメラ10の外部の外部機器である場合には、その外部機器としてのノードから得られる情報としてのノードの性能に応じて、トータルの処理時間が所定の時間内に収まるように、目標画サイズ又は目標ビットレートを設定することができる。
なお、ディジタルカメラ10では、その他、例えば、外部機器としてのノードが対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、そのプロファイル、レベル、及び、ティアに違反しないように、目標画サイズ又は目標ビットレートを設定することができる。
また、ディジタルカメラ10では、外部機器としてのノードと接続される接続方法、例えば、ディジタルカメラ10とノードとが通信を行う際に従う通信規格に応じて、その通信規格がサポートするコーデックのプロファイル、レベル、及び、ティアに違反しないように、目標画サイズ又は目標ビットレートを設定することができる。
タイル画像の画サイズの設定は、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように行う他、タイル画像の画サイズ及びビットレートがそれぞれ目標画サイズ及び目標ビットレートを基準とする所定の範囲内に収まるように行うことができる。
なお、図20では、ノードの性能等の外部からの情報に応じて、目標画サイズ又は目標ビットレートを設定することとしたが、ノードの性能等の外部からの情報に応じて、トータルの処理時間が所定の時間内に収まるように、タイル画像の画サイズを設定することができる。
また、図20では、ディジタルカメラ10で撮像された画像を分割することで、タイル画像を得ることとしたが、その他、例えば、複数のカメラで撮像された複数の画像を、タイル画像として用いることとして、ノードに入力することができる。
図21は、第5のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図21では、タイル画像を処理する処理ブロックとしての複数のノードにおいて、HEIFファイルに格納された複数のタイル画像を並列で復号し、複数のノードで復号された複数のタイル画像から形成されるグリッド画像を対象として、スライドショー再生、TimeLapse再生等の1枚あたりの再生時間に制約がある再生を行うケースが示されている。
すなわち、図21では、例えば、ディジタルカメラ10で撮像された画像を分割して得られる4個の各タイル画像を、各ノードで復号し、その4個のタイル画像からグリッド画像を形成することが、再生時間の制約を満たすための所定の時間内に行われる。
ノードでのタイル画像の復号、及び、タイル画像を配置したグリッド画像の形成は、ディジタルカメラ10で行ってもよいし、ディジタルカメラ10の外部で行ってもよい。
図21において、各ノードでのタイル画像の復号、及び、グリッド画像の形成に要するトータルの処理時間は、ノードの性能(復号のスループット)に影響され、そのトータルの処理時間を、所定の時間内に収めるためには、ノードの性能に応じて、ノードで処理されるタイル画像の画サイズやビットレートを制限する必要がある。
そこで、タイル画像の画サイズ又はビットレートについては、ノードの性能に応じて、トータルの処理時間が所定の時間内に収まるように、目標となる目標画サイズ又は目標ビットレートを設定することができる。そして、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、タイル画像の画サイズを設定することができる。
目標画サイズ又は目標ビットレートは、図20の場合と同様に、外部からの情報に応じて設定することができる。
なお、図21では、ノードの性能等の外部からの情報に応じて、目標画サイズ又は目標ビットレートを設定することとしたが、ノードの性能等の外部からの情報に応じて、トータルの処理時間が所定の時間内に収まるように、タイル画像の画サイズを設定することができる。
また、図21では、ディジタルカメラ10で撮像された画像を分割することで、タイル画像を得ることとしたが、その他、例えば、図20の場合と同様に、複数のカメラで撮像された複数の画像を、タイル画像として用いることとして、ノードに入力することができる。
図22は、第6のユースケースにおいてタイル画像の画サイズを設定する例を説明する図である。
図22では、タイル画像を処理する処理ブロックとしての複数のノードにおいて、1個ずつのタイル画像を並列で符号化して転送し、転送先で、タイル画像を格納したHEIFファイルを生成することを、所定の時間内に行う(完了する)ケースが示されている。
すなわち、図22では、例えば、ディジタルカメラ10で撮像された画像を分割して得られる4個の各タイル画像を、各ノードで符号化して転送し、転送先で、符号化後のタイル画像を格納した1個のHEIFファイルを生成することが、所定の時間内に行われる。
ノードでのタイル画像の符号化は、ディジタルカメラ10で行ってもよいし、ディジタルカメラ10の外部で行ってもよい。
図22において、各ノードでのタイル画像の符号化、タイル画像の転送、及び、HEIFファイルの生成に要するトータルの処理時間は、タイル画像の転送に用いられるネットワークにおいて、タイル画像の転送にもちいることができる転送帯域に影響される。したがって、トータルの処理時間を、所定の時間内に収めるためには、ネットワークの転送帯域に応じて、ノードで処理されるタイル画像の画サイズやビットレートを制限する必要がある。
そこで、タイル画像の画サイズ又はビットレートについては、ネットワークの転送帯域に応じて、トータルの処理時間が所定の時間内に収まるように、目標となる目標画サイズ又は目標ビットレートを設定することができる。そして、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、タイル画像の画サイズを設定することができる。
目標画サイズ又は目標ビットレートは、外部からの情報に応じて設定することができる。
例えば、ディジタルカメラ10では、ユーザの操作により入力される所定の時間やネットワークの転送帯域に応じて(ユーザの操作に応じて)、トータルの処理時間が所定の時間内に収まるように、目標画サイズ又は目標ビットレートを設定することができる。また、ディジタルカメラ10では、外部のネットワークから転送帯域を得ることができる場合には、そのネットワークから得られる転送帯域に応じて、トータルの処理時間が所定の時間内に収まるように、目標画サイズ又は目標ビットレートを設定することができる。
なお、図22では、ネットワークの帯域等の外部からの情報に応じて、目標画サイズ又は目標ビットレートを設定することとしたが、ネットワークの帯域等の外部からの情報に応じて、トータルの処理時間が所定の時間内に収まるように、タイル画像の画サイズを設定することができる。
また、図22では、ディジタルカメラ10で撮像された画像を分割することで、タイル画像を得ることとしたが、その他、例えば、複数のカメラで撮像された複数の画像を、タイル画像として用いることとして、ノードに入力することができる。
以上のように、タイル画像の画サイズは、図13で説明したように、世界の再生環境に応じて、ディジタルカメラ10のファームウエアを、外部からの情報としての新たなファームウエアに書き換えることで、いわば静的に設定することができる。
また、タイル画像の画サイズは、図14、図15、図20ないし図22で説明したように、いわば動的に設定することができる。
例えば、タイル画像の画サイズは、外部からの情報、例えば、ユーザの操作や、クラウド等の外部機器からの情報に応じて動的に設定することができる。
また、タイル画像の画サイズは、ディジタルカメラ10と接続される外部機器としてのノード等の性能(符号化や復号のスループット、対応するコーデックのプロファイル、レベル、及び、ティア等)や、ディジタルカメラ10と外部機器との接続方法としての通信規格(接続規格)、タイル画像を転送する際に用いるネットワークの転送帯域(通信状況)等に応じて動的に設定することができる。
さらに、タイル画像の画サイズは、タイル画像を符号化するシステム(エンコードシステム)や復号するシステム(デコードシステム)等のタイル画像を処理するシステムの構成に応じて動的に設定することができる。
タイル画像を処理するシステムの構成として、例えば、図20に示したように、1個のディジタルカメラ10で撮像された画像を分割して得られる複数のタイル画像を、複数のノードで符号化する構成を採用する場合には、タイル画像の画サイズは、ノードの性能に応じて動的に設定することができる。
タイル画像を処理するシステムの構成として、例えば、図15に示したように、複数のカメラそれぞれで生成された、タイル画像が格納されたHEIFファイルを処理する構成を採用する場合には、タイル画像の画サイズは、タイル画像が格納されたHEIFファイルを生成する複数のカメラの性能、例えば、複数のカメラが対応するコーデックのプロファイル等に応じて動的に設定することができる。
タイル画像を処理するシステムの構成として、例えば、図21に示したように、タイル画像を、ノードで復号する構成を採用する場合には、タイル画像の画サイズは、ノードを構成するハードウエア及びソフトウエアの性能(制約)、例えば、ノードが対応するコーデックのプロファイル等に応じて動的に設定することができる。
<符号化制御部42の構成例>
図23は、符号化制御部42の構成例を示すブロック図である。
図23は、符号化制御部42の構成例を示すブロック図である。
なお、図23では、符号化制御部42のうちの、タイル画像を生成する部分である画像処理部110だけを図示してある。
画像処理部110は、設定部111及び生成部112を有する。
設定部111は、タイル画像の目標画サイズ又は目標ビットレートに応じて、例えば、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、あるいは、タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレートに対して所定の範囲内に収まるように、タイル画像の画サイズを設定し、生成部112に供給する。又は、設定部111は、タイル画像の画サイズを、外部からの情報に応じて設定し、生成部112に供給する。
生成部112は、光学系/イメージセンサ制御部41から符号化制御部42に供給される画像を分割することにより、設定部111からの画サイズ(設定画サイズ)のタイル画像を生成する。
図24は、画像処理部110を処理の例を説明するフローチャートである。
ステップS101において、設定部111は、タイル画像の目標画サイズ及び目標ビットレートの一方又は両方に応じて、タイル画像の画サイズを設定する。又は、設定部111は、タイル画像の画サイズを、外部からの情報に応じて設定する。そして、設定部111は、タイル画像の画サイズ(設定画サイズ)を、生成部112に供給し、処理は、ステップS101からステップS102に進む。
ステップS102では、生成部112は、光学系/イメージセンサ制御部41から符号化制御部42に供給される画像を分割することにより、設定部111からの画サイズのタイル画像を生成し、処理は、終了する。
その後、生成部112で生成されたタイル画像は、符号化制御部42において符号化され、その符号化後のタイル画像が格納されたHEIFファイルが、ファイル制御部43において生成される。
以上のように、タイル画像の画サイズが、タイル画像の目標画サイズ及び目標ビットレートの一方若しくは両方に応じて、又は、外部からの情報に応じて設定されるので、適切な画サイズのタイル画像を得ることができる。
図25は、タイル画像の画サイズが目標画サイズ以下となるように、タイル画像の画サイズを設定する画サイズ設定方法の例を示す図である。
図25において、全体画サイズ横input_widthは、ディジタルカメラ10で撮像される、タイル画像に分割される前の撮像画像の横の画素数を表し、全体画サイズ縦input_heightは、撮像画像の縦の画素数を表す。
アラインサイズ横align_width及びアラインサイズ縦align_heightは、タイル画像の符号化/復号を行うコーデックにおいて、処理の対象の画像の画サイズが所定の画素数の倍数であることが要求される場合の所定の画素数(以下、アライン画素数ともいう)を表す。アラインサイズ横align_widthは、横方向の画素数についてのアライン画素数を表し、アラインサイズ縦align_heightは、縦方向の画素数についてのアライン画素数を表す。
目標画サイズ横target_width及び目標画サイズ縦target_heightは、タイル画像の目標とする横及び縦の画素数(目標画サイズ)をそれぞれ表す。
タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightは、タイル画像の横及び縦の画素数をそれぞれ表す。
設定部111には、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightが、入力として供給される。
ディジタルカメラ10において、全体画サイズ横input_width及び全体画サイズ縦input_heightについては、例えば、ユーザの操作等に応じて設定することができる。例えば、全体画サイズ横input_width及び全体画サイズ縦input_heightの組として、複数の組を用意しておき、その複数の組の中から、ユーザの操作に応じた組を選択し、全体画サイズ横input_width及び全体画サイズ縦input_heightとして設定することができる。その他、全体画サイズ横input_width及び全体画サイズ縦input_heightについては、例えば、クラウド等の外部からの指示(情報)に応じて設定することができる。ディジタルカメラ10では、全体画サイズ横input_width及び全体画サイズ縦input_heightが表す画サイズの撮像画像が撮像される。
アラインサイズ横align_width及びアラインサイズ縦align_heightについては、符号化制御部42がタイル画像の符号化及び復号に採用するコーデックに応じて設定することができる。その他、アラインサイズ横align_width及びアラインサイズ縦align_heightについては、例えば、全体画サイズ横input_width及び全体画サイズ縦input_heightと同様に設定することができる。
全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightが、ユーザの操作に応じて設定される場合、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightは、ディジタルカメラ10においてユーザの操作に応じて設定されるパラメータであるということができる。
目標画サイズ横target_width及び目標画サイズ縦target_height(目標画サイズ)については、ユーザの操作や外部機器からの情報等の外部からの情報等に応じて設定することができる。
設定部111は、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、目標画サイズ横target_width及び目標画サイズ縦target_heightに応じて、タイル画像の横方向の画素数及び縦方向の画素数が、目標画サイズ横target_width及び目標画サイズ縦target_height以下とそれぞれなるように、タイル画像の画サイズ横tile_width及び画サイズ縦tile_height(画サイズ)を設定する。
すなわち、設定部111は、式(1)を満たす、アラインサイズ横align_width及びアラインサイズ縦align_heightの整数倍の最大のtile_width及びtile_heightをそれぞれ求め、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightにそれぞれ設定する。
tile_width = nx * align_width
tile_height = ny * align_height
tile_width <= target_width
tile_height <= target_height
tile_width <= input_width
tile_height <= input_height
・・・(1)
tile_height = ny * align_height
tile_width <= target_width
tile_height <= target_height
tile_width <= input_width
tile_height <= input_height
・・・(1)
nx及びnyは、正の整数を表す。
図26は、タイル画像の画サイズが目標画サイズ以下となるように、タイル画像の画サイズを設定する処理の例を説明するフローチャートである。
なお、図26では、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightのうちの、画サイズ横tile_widthの設定に注目して、タイル画像の画サイズを設定する処理を説明するが、画サイズ縦tile_heightの設定も、画サイズ横tile_widthの設定と同様に行われる。
ステップS111において、設定部111は、撮像画像をタイル画像に分割する際の横方向のタイル画像の数を表す変数tile_num_tmpを、CEIL( input_width / target_width, 1 )に設定し、処理は、ステップS112に進む。関数CEIL(A,B)は、Bの整数倍のうちの、A以上の整数の最小値を表す。
ステップS112において、設定部111は、タイル画像の画サイズ横tile_widthの候補となる値を表す変数tile_width_tempを、CEIL( input_width / tile_num_tmp, align_width )に設定し、処理は、ステップS113に進む。これにより、変数tile_width_tempには、タイル画像の画サイズ横tile_widthの候補として、アラインサイズ横align_widthの整数倍の値が設定される。
ステップS113において、設定部111は、変数tile_width_tempが、目標画サイズ横target_width以下であるかどうかを判定する。
ステップS113において、変数tile_width_tempが、目標画サイズ横target_width以下でないと判定された場合、処理は、ステップS114に進む。
ステップS114では、設定部111は、変数tile_num_tmpを1だけインクリメントすることにより、撮像画像をタイル画像に分割する際の横方向のタイル画像の数を1個だけ増加して、処理は、ステップS112に戻り、同様の処理が繰り返される。
また、ステップS113において、変数tile_width_tempが、目標画サイズ横target_width以下であると判定された場合、処理は、ステップS115に進む。
ステップS115では、設定部111は、画サイズ横tile_widthを、変数tile_width_tempに設定し、処理を終了する。
なお、以上の図26の説明は、「横」を「縦」に読み替えることにより、画サイズ縦tile_heightの設定の説明となる。
図27は、タイル画像のビットレートが目標ビットレート以下となるように、タイル画像の画サイズを設定する画サイズ設定方法の例を示す図である。
図27では、タイル画像の画サイズの設定に、図25の場合と同様に、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightが用いられる。
さらに、図27では、タイル画像の画サイズの設定に、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightに加えて、画質bit_per_pixelが用いられる。画質bit_per_pixelは、タイル画像の1画素あたりに割り当てるデータ量(符号量)としてのビット数を表し、タイル画像の画質に相当(影響)する。
また、図27では、タイル画像の画サイズの設定に、図25で説明した目標画サイズ横target_width及び目標画サイズ縦target_heightに代えて、目標ビットレートとしての目標ビット量target_bit_per_tileが用いられる。目標ビットレートとしての目標ビット量target_bit_per_tileは、タイル画像の目標とするデータ量(符号量)を表す。
画質bit_per_pixelは、設定部111に対して、入力として供給される。
画質bit_per_pixelについては、例えば、図25の全体画サイズ横input_width及び全体画サイズ縦input_heightと同様に、ユーザの操作等に応じて設定することができる。画質bit_per_pixelが、ユーザの操作に応じて設定される場合、画質bit_per_pixelは、ディジタルカメラ10においてユーザの操作に応じて設定されるパラメータであるということができる。
目標ビット量target_bit_per_tile(目標ビットレート)については、ユーザの操作や外部機器からの情報等の外部からの情報等、例えば、図22で説明したように、タイル画像をネットワークを介して転送する際のネットワークの転送帯域に応じて設定することができる。
設定部111は、全体画サイズ横input_width及び全体画サイズ縦input_height、画質bit_per_pixel、並びに、目標ビット量target_bit_per_tileに応じて、タイル画像のビットレート(データ量)tile_width * tile_height * bit_per_pixelが、目標ビットレートとしての目標ビット量target_bit_per_tile以下となるように、タイル画像の画サイズ横tile_width及び画サイズ縦tile_height(画サイズ)を設定する。
すなわち、設定部111は、式(2)を満たす、アラインサイズ横align_width及びアラインサイズ縦align_heightの整数倍の最大のtile_width及びtile_heightをそれぞれ求め、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightにそれぞれ設定する。
tile_width = align_width * nx
tile_height = align_height * ny
tile_width * tile_height * bit_per_pixel <= target_bit_per_tile
tile_width <= input_width
tile_height <= input_height
・・・(2)
tile_height = align_height * ny
tile_width * tile_height * bit_per_pixel <= target_bit_per_tile
tile_width <= input_width
tile_height <= input_height
・・・(2)
図28は、タイル画像の画サイズ及びビットレートが目標画サイズ及び目標ビットレート以下とそれぞれなるように、タイル画像の画サイズを設定する画サイズ設定方法の例を示す図である。
図28では、タイル画像の画サイズの設定に、図25の場合と同様に、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightが用いられる。
さらに、図28では、タイル画像の画サイズの設定に、全体画サイズ横input_width及び全体画サイズ縦input_height、並びに、アラインサイズ横align_width及びアラインサイズ縦align_heightに加えて、図27で説明した画質bit_per_pixelが用いられる。
また、図28では、タイル画像の画サイズの設定に、図25で説明した目標画サイズ横target_width及び目標画サイズ縦target_heightと、図27で説明した目標ビットレートとしての目標ビット量target_bit_per_tileとが用いられる。
設定部111は、全体画サイズ横input_width及び全体画サイズ縦input_height、目標画サイズ横target_width及び目標画サイズ縦target_height、画質bit_per_pixel、並びに、目標ビット量target_bit_per_tileに応じて、タイル画像の横方向の画素数及び縦方向の画素数が、目標画サイズ横target_width及び目標画サイズ縦target_height以下とそれぞれなるように、かつ、タイル画像のビットレート(データ量)tile_width * tile_height * bit_per_pixelが、目標ビットレートとしての目標ビット量target_bit_per_tile以下となるように、タイル画像の画サイズ横tile_width及び画サイズ縦tile_height(画サイズ)を設定する。
すなわち、設定部111は、式(3)を満たす、アラインサイズ横align_width及びアラインサイズ縦align_heightの整数倍の最大のtile_width及びtile_heightをそれぞれ求め、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightにそれぞれ設定する。
tile_width = nx * align_width
tile_height = ny * align_height
tile_width * tile_height * bit_per_pixel <= target_bit_per_tile
tile_width <= target_width
tile_height <= target_height
tile_width <= input_width
tile_height <= input_height
・・・(3)
tile_height = ny * align_height
tile_width * tile_height * bit_per_pixel <= target_bit_per_tile
tile_width <= target_width
tile_height <= target_height
tile_width <= input_width
tile_height <= input_height
・・・(3)
なお、ノード等が対応するコーデックのプロファイルや、レベル、ティアによって、目標画サイズ横target_width及び目標画サイズ縦target_height、並びに、目標ビットレートとしての目標ビット量target_bit_per_tileが制限されることがある。コーデックのプロファイル等によって、目標画サイズ横target_width及び目標画サイズ縦target_height、並びに、目標ビットレートとしての目標ビット量target_bit_per_tileが所定値に制限される場合、その所定値に制限された目標画サイズ横target_width及び目標画サイズ縦target_height、並びに、目標ビットレートとしての目標ビット量target_bit_per_tileに応じ、式(3)に従って、タイル画像の画サイズ横tile_width及び画サイズ縦tile_heightが設定される。
<本技術を適用したコンピュータの説明>
次に、上述した一連の処理は、ハードウエアにより行うこともできるし、ソフトウエアにより行うこともできる。一連の処理をソフトウエアによって行う場合には、そのソフトウエアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
図29は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク905やROM903に予め記録しておくことができる。
あるいはまた、プログラムは、ドライブ909によって駆動されるリムーバブル記録媒体911に格納(記録)しておくことができる。このようなリムーバブル記録媒体911は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体911としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体911からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク905にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)902を内蔵しており、CPU902には、バス901を介して、入出力インタフェース910が接続されている。
CPU902は、入出力インタフェース910を介して、ユーザによって、入力部907が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)903に格納されているプログラムを実行する。あるいは、CPU902は、ハードディスク905に格納されたプログラムを、RAM(Random Access Memory)904にロードして実行する。
これにより、CPU902は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU902は、その処理結果を、必要に応じて、例えば、入出力インタフェース910を介して、出力部906から出力、あるいは、通信部908から送信、さらには、ハードディスク905に記録等させる。
なお、入力部907は、キーボードや、マウス、マイク等で構成される。また、出力部906は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成する画像処理部を備える
画像処理装置。
<2>
前記画像処理部は、前記タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、前記タイル画像の画サイズを設定する
<1>に記載の画像処理装置。
<3>
前記画像処理部は、ユーザの操作に応じて設定されるパラメータに応じて、前記タイル画像の画サイズを設定する
<1>又は<2>に記載の画像処理装置。
<4>
前記画像処理部は、ユーザの操作に応じて設定される前記グリッド画像の画サイズに応じて、前記タイル画像の画サイズを設定する
<1>又は<2>に記載の画像処理装置。
<5>
前記画像処理部は、ユーザの操作に応じて設定される前記タイル画像の画質に応じて、前記タイル画像の画サイズを設定する
<3>に記載の画像処理装置。
<6>
前記画像処理部は、外部からの情報に応じて、前記目標画サイズ又は目標ビットレートを設定する
<1>ないし<5>のいずれかに記載の画像処理装置。
<7>
前記画像処理部は、ユーザの操作に応じて、前記目標画サイズ又は目標ビットレートを設定する
<6>に記載の画像処理装置。
<8>
前記画像処理部は、外部機器からの情報に応じて、前記目標画サイズ又は目標ビットレートを設定する
<6>に記載の画像処理装置。
<9>
前記画像処理部は、前記外部機器が対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<10>
前記画像処理部は、前記外部機器との接続方法に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<11>
前記画像処理部は、前記外部機器の性能に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<12>
前記画像処理部は、前記目標画サイズ及び前記目標ビットレートに応じて、前記タイル画像の画サイズを設定する
<1>ないし<11>に記載の画像処理装置。
<13>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成することを含む
画像処理方法。
<14>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成する画像処理部を備える
画像処理装置。
<15>
前記画像処理部は、ユーザの操作に応じて、前記タイル画像の画サイズを設定する
<14>に記載の画像処理装置。
<16>
前記画像処理部は、外部機器からの情報に応じて、前記タイル画像の画サイズを設定する
<14>に記載の画像処理装置。
<17>
前記画像処理部は、前記外部機器が対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<18>
前記画像処理部は、前記外部機器との接続方法に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<19>
前記画像処理部は、前記外部機器の性能に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<20>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成することを含む
画像処理方法。
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成する画像処理部を備える
画像処理装置。
<2>
前記画像処理部は、前記タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、前記タイル画像の画サイズを設定する
<1>に記載の画像処理装置。
<3>
前記画像処理部は、ユーザの操作に応じて設定されるパラメータに応じて、前記タイル画像の画サイズを設定する
<1>又は<2>に記載の画像処理装置。
<4>
前記画像処理部は、ユーザの操作に応じて設定される前記グリッド画像の画サイズに応じて、前記タイル画像の画サイズを設定する
<1>又は<2>に記載の画像処理装置。
<5>
前記画像処理部は、ユーザの操作に応じて設定される前記タイル画像の画質に応じて、前記タイル画像の画サイズを設定する
<3>に記載の画像処理装置。
<6>
前記画像処理部は、外部からの情報に応じて、前記目標画サイズ又は目標ビットレートを設定する
<1>ないし<5>のいずれかに記載の画像処理装置。
<7>
前記画像処理部は、ユーザの操作に応じて、前記目標画サイズ又は目標ビットレートを設定する
<6>に記載の画像処理装置。
<8>
前記画像処理部は、外部機器からの情報に応じて、前記目標画サイズ又は目標ビットレートを設定する
<6>に記載の画像処理装置。
<9>
前記画像処理部は、前記外部機器が対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<10>
前記画像処理部は、前記外部機器との接続方法に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<11>
前記画像処理部は、前記外部機器の性能に応じて、前記目標画サイズ又は目標ビットレートを設定する
<8>に記載の画像処理装置。
<12>
前記画像処理部は、前記目標画サイズ及び前記目標ビットレートに応じて、前記タイル画像の画サイズを設定する
<1>ないし<11>に記載の画像処理装置。
<13>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成することを含む
画像処理方法。
<14>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成する画像処理部を備える
画像処理装置。
<15>
前記画像処理部は、ユーザの操作に応じて、前記タイル画像の画サイズを設定する
<14>に記載の画像処理装置。
<16>
前記画像処理部は、外部機器からの情報に応じて、前記タイル画像の画サイズを設定する
<14>に記載の画像処理装置。
<17>
前記画像処理部は、前記外部機器が対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<18>
前記画像処理部は、前記外部機器との接続方法に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<19>
前記画像処理部は、前記外部機器の性能に応じて、前記タイル画像の画サイズを設定する
<16>に記載の画像処理装置。
<20>
HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成することを含む
画像処理方法。
10 ディジタルカメラ, 11 光学系, 13 信号処理部, 14 メディア, 15,16 I/F, 17 ボタン/キー, 18 タッチパネル, 19 液晶パネル, 20 ビューファインダ, 21 I/F, 41 光学系/イメージセンサ制御部, 42 符号化制御部, 43 ファイル制御部, 44 メディア制御部, 45 操作制御部, 46 表示制御部, 47 UI制御部, 110 画像処理部, 111 設定部, 112 生成部, 901 バス, 902 CPU, 903 ROM, 904 RAM, 905 ハードディスク, 906 出力部, 907 入力部, 908 通信部, 909 ドライブ, 910 入出力インタフェース, 911 リムーバブル記録媒体
Claims (20)
- HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成する画像処理部を備える
画像処理装置。 - 前記画像処理部は、前記タイル画像の画サイズ又はビットレートが目標画サイズ又は目標ビットレート以下となるように、前記タイル画像の画サイズを設定する
請求項1に記載の画像処理装置。 - 前記画像処理部は、ユーザの操作に応じて設定されるパラメータに応じて、前記タイル画像の画サイズを設定する
請求項1に記載の画像処理装置。 - 前記画像処理部は、ユーザの操作に応じて設定される前記グリッド画像の画サイズに応じて、前記タイル画像の画サイズを設定する
請求項3に記載の画像処理装置。 - 前記画像処理部は、ユーザの操作に応じて設定される前記タイル画像の画質に応じて、前記タイル画像の画サイズを設定する
請求項3に記載の画像処理装置。 - 前記画像処理部は、外部からの情報に応じて、前記目標画サイズ又は目標ビットレートを設定する
請求項1に記載の画像処理装置。 - 前記画像処理部は、ユーザの操作に応じて、前記目標画サイズ又は目標ビットレートを設定する
請求項6に記載の画像処理装置。 - 前記画像処理部は、外部機器からの情報に応じて、前記目標画サイズ又は目標ビットレートを設定する
請求項6に記載の画像処理装置。 - 前記画像処理部は、前記外部機器が対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、前記目標画サイズ又は目標ビットレートを設定する
請求項8に記載の画像処理装置。 - 前記画像処理部は、前記外部機器との接続方法に応じて、前記目標画サイズ又は目標ビットレートを設定する
請求項8に記載の画像処理装置。 - 前記画像処理部は、前記外部機器の性能に応じて、前記目標画サイズ又は目標ビットレートを設定する
請求項8に記載の画像処理装置。 - 前記画像処理部は、前記目標画サイズ及び前記目標ビットレートに応じて、前記タイル画像の画サイズを設定する
請求項1に記載の画像処理装置。 - HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の目標画サイズ又は目標ビットレートに応じて、前記タイル画像の画サイズを設定し、その画サイズの前記タイル画像を生成することを含む
画像処理方法。 - HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成する画像処理部を備える
画像処理装置。 - 前記画像処理部は、ユーザの操作に応じて、前記タイル画像の画サイズを設定する
請求項14に記載の画像処理装置。 - 前記画像処理部は、外部機器からの情報に応じて、前記タイル画像の画サイズを設定する
請求項14に記載の画像処理装置。 - 前記画像処理部は、前記外部機器が対応するコーデックのプロファイル、レベル、及び、ティアのうちの1以上に応じて、前記タイル画像の画サイズを設定する
請求項16に記載の画像処理装置。 - 前記画像処理部は、前記外部機器との接続方法に応じて、前記タイル画像の画サイズを設定する
請求項16に記載の画像処理装置。 - 前記画像処理部は、前記外部機器の性能に応じて、前記タイル画像の画サイズを設定する
請求項16に記載の画像処理装置。 - HEIF(High Efficiency Image File Format)ファイルに格納される、グリッド画像を形成するタイル画像の画サイズを、外部からの情報に応じて設定し、その画サイズの前記タイル画像を生成することを含む
画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022505114A JPWO2021177044A1 (ja) | 2020-03-04 | 2021-02-18 | |
US17/904,947 US20230124473A1 (en) | 2020-03-04 | 2021-02-18 | Image processing device and image processing method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-036523 | 2020-03-04 | ||
JP2020036523 | 2020-03-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021177044A1 true WO2021177044A1 (ja) | 2021-09-10 |
Family
ID=77613321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/006074 WO2021177044A1 (ja) | 2020-03-04 | 2021-02-18 | 画像処理装置及び画像処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230124473A1 (ja) |
JP (1) | JPWO2021177044A1 (ja) |
WO (1) | WO2021177044A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024171796A1 (ja) * | 2023-02-17 | 2024-08-22 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010079790A1 (ja) * | 2009-01-08 | 2010-07-15 | 日本電気株式会社 | 配信システムと方法並びに変換装置 |
WO2015012226A1 (ja) * | 2013-07-22 | 2015-01-29 | ソニー株式会社 | 情報処理装置および方法 |
WO2019139099A1 (ja) * | 2018-01-12 | 2019-07-18 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150154778A1 (en) * | 2013-11-29 | 2015-06-04 | Calgary Scientific, Inc. | Systems and methods for dynamic image rendering |
GB2552943A (en) * | 2016-08-09 | 2018-02-21 | V-Nova Ltd | Adaptive video consumption |
KR20210100853A (ko) * | 2020-02-07 | 2021-08-18 | 삼성전자주식회사 | 이미지를 저장하는 전자 장치 및 방법 |
-
2021
- 2021-02-18 JP JP2022505114A patent/JPWO2021177044A1/ja active Pending
- 2021-02-18 US US17/904,947 patent/US20230124473A1/en active Pending
- 2021-02-18 WO PCT/JP2021/006074 patent/WO2021177044A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010079790A1 (ja) * | 2009-01-08 | 2010-07-15 | 日本電気株式会社 | 配信システムと方法並びに変換装置 |
WO2015012226A1 (ja) * | 2013-07-22 | 2015-01-29 | ソニー株式会社 | 情報処理装置および方法 |
WO2019139099A1 (ja) * | 2018-01-12 | 2019-07-18 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024171796A1 (ja) * | 2023-02-17 | 2024-08-22 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20230124473A1 (en) | 2023-04-20 |
JPWO2021177044A1 (ja) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101103625B (zh) | 记录设备、重放设备、记录和重放设备、其方法 | |
JP2020537376A (ja) | 時限メディアデータを生成する方法、装置、およびコンピュータプログラム | |
JP7100493B2 (ja) | 表示制御装置及びその制御方法及びプログラム | |
CN102742281A (zh) | 图像处理装置、信息记录介质、图像处理方法和程序 | |
WO2019159620A1 (ja) | 撮像装置、記録装置及び表示制御装置 | |
JP7563378B2 (ja) | ファイル生成装置、ファイル生成方法、ファイル再生装置、ファイル再生方法、及び、プログラム | |
US20220269716A1 (en) | File processing device, file processing method, and program | |
JP6270555B2 (ja) | 画像処理システム、撮像装置及びその制御方法 | |
WO2021177044A1 (ja) | 画像処理装置及び画像処理方法 | |
JP2013051607A (ja) | データ処理装置、方法および制御プログラム | |
WO2020255757A1 (ja) | ファイル処理装置、ファイル処理方法、及び、プログラム | |
WO2021117481A1 (ja) | データ処理装置、データ処理方法、及び、プログラム | |
JP6745629B2 (ja) | 情報処理装置およびその制御方法 | |
US12045141B2 (en) | File processing device, file processing method, and program | |
WO2008018312A1 (fr) | Dispositif de traitement de données, procédé de traitement de données, et programme informatique | |
CN109842801A (zh) | 一种数字视频信号压缩处理方法及系统 | |
JP7468530B2 (ja) | ファイル処理装置、ファイル処理方法、及び、プログラム | |
WO2021100491A1 (ja) | ファイル処理装置及びファイル処理方法 | |
JP6703752B2 (ja) | 情報処理装置、情報処理方法、およびプログラム、並びに記録媒体 | |
WO2021182089A1 (ja) | ファイル処理装置、ファイル処理方法、及び、プログラム | |
WO2024171796A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP5624658B2 (ja) | データ処理装置、方法および制御プログラム | |
JP2020170998A (ja) | 画像処理装置、撮像装置、画像処理方法およびプログラム | |
JP6218489B2 (ja) | 画像処理装置 | |
JP2015035752A (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: 21764534 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022505114 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21764534 Country of ref document: EP Kind code of ref document: A1 |