WO2020166596A1 - 画像処理システム及びプログラム - Google Patents

画像処理システム及びプログラム Download PDF

Info

Publication number
WO2020166596A1
WO2020166596A1 PCT/JP2020/005302 JP2020005302W WO2020166596A1 WO 2020166596 A1 WO2020166596 A1 WO 2020166596A1 JP 2020005302 W JP2020005302 W JP 2020005302W WO 2020166596 A1 WO2020166596 A1 WO 2020166596A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
divided
processing
image processing
unit
Prior art date
Application number
PCT/JP2020/005302
Other languages
English (en)
French (fr)
Inventor
健太 菅原
Original Assignee
株式会社ラディウス・ファイブ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ラディウス・ファイブ filed Critical 株式会社ラディウス・ファイブ
Priority to JP2020572266A priority Critical patent/JPWO2020166596A1/ja
Publication of WO2020166596A1 publication Critical patent/WO2020166596A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals

Definitions

  • the present invention relates to an image processing system and a program.
  • Patent Document 1 discloses a technique of generating a high-definition still image having a quality that can be appreciated as a still image when extracting a still image from a moving image.
  • Patent Document 2 discloses a technique of performing image correction as pre-processing for executing super-resolution processing and performing super-resolution processing on a corrected image.
  • a high-resolution image is generated from a low-resolution image (moving image or still image) having a certain size (number of pixels), that is, a change in the information amount of the image. Therefore, when processing a low-resolution image having a large size, there is a problem that the memory is restricted or the processing speed is reduced. Therefore, for example, it is conceivable to divide an input image into a plurality of images and process each of them, but even if the divided images are processed and then integrated, for example, the accuracy of image processing of a portion where the divided images are joined is not sufficient. There wasn't.
  • the present invention has been made in view of such a problem, and an object of the present invention is to provide an image processing system and a program capable of efficiently and highly accurately processing an image of an arbitrary size.
  • the main invention of the present invention for solving the above-mentioned problems is an image division unit that divides the input image according to the size of the input image, and an image that performs predetermined image processing by parallel processing of each of the divided images.
  • the image division unit includes a processing unit and an image integration unit that integrates the divided images that have been subjected to the predetermined image processing into one output image, and the image dividing unit includes a peripheral region in the divided images.
  • the input image is divided into, the image processing unit performs the predetermined image processing on the divided image including the peripheral region, the image integration unit, the image of the divided image after the image processing. It is characterized in that the edge regions of the divided images after excluding the peripheral region and after excluding the peripheral region are joined.
  • an image of an arbitrary size can be efficiently and more accurately processed.
  • FIG. 3 is a diagram showing a software configuration example of the image processing server 1. It is a figure for explaining an example of a divided image by this embodiment. It is a figure explaining the flow of the process performed by the image processing server 1 of this embodiment. It is a figure which shows an example of an input image and a division image.
  • An image processing apparatus and a program according to an embodiment of the present invention have the following configurations.
  • (Item 1) An image division unit that divides the input image, An image processing unit that performs predetermined image processing by parallel processing each of the divided divided images, An image integration unit that integrates the divided images that have been subjected to the predetermined image processing into one output image, Equipped with The image dividing unit divides the input image so as to include a peripheral region in the divided image, The image processing unit performs the predetermined image processing on the divided image including the peripheral region, The image integration unit removes an image of the peripheral region of the divided image after the image processing, and joins end regions of the divided image after removing the image of the peripheral region, An image processing system characterized by the above.
  • the image dividing unit dynamically changes the size of each of the divided images so that the processing amount of each parallel processing in the image processing unit is smoothed.
  • the image processing system according to item 1 which is characterized in that (Item 3) Item 3.
  • the image division unit dynamically changes resources for executing parallel processing according to a processing load on the image processing unit, Item 4.
  • the image processing system according to item 4 wherein the resource that executes the parallel processing is one or a plurality of image processing servers.
  • the input image includes a moving image
  • the image dividing unit divides a plurality of frames forming at least a part of the moving image in time series and/or for each corresponding image region in the plurality of frames to generate a divided image.
  • the image processing system according to any one of 5 above.
  • Item 7 Item 7.
  • the image processing unit performs image processing on the divided images based on a magnitude of motion of a moving image in time series of the plurality of frames.
  • the image dividing unit performs a compression process of compressing the input image or the divided divided image, 9.
  • (Item 10) 10.
  • (Item 11) Item 11.
  • the image processing system according to Item 10 wherein the image processing unit performs image processing based on an attribute of a divided image for each divided area obtained based on the image recognition result.
  • (Item 13) 13 The image processing system according to any one of Items 1 to 12, wherein the image processing unit includes a super-resolution processing unit that increases the resolution of the divided images divided by the image dividing unit.
  • the super-resolution processing unit performs parallel processing on RGB components of each of the divided images, and performs collective processing on Alpha components.
  • Item 13 The image processing system as described in Item 13, characterized in that (Item 15) 15.
  • the super-resolution processing unit performs super-resolution processing on a grayscale image configured by the Alpha component of the divided image, and based on the grayscale image after the super-resolution processing, the RGB components of the divided image.
  • Item 16 The image processing system according to any one of Items 13 to 15, which performs super-resolution processing.
  • the super-resolution processing unit performs parallel processing on all or some of the color space components of each of the divided images.
  • the predetermined image processing includes image recognition processing for recognizing an object included in the divided image.
  • the image processing unit removes image information in a region related to the recognized object from the information related to the divided image, and image information in a region related to the object based on information of a region other than the region related to the object.
  • the image processing system according to any one of Items 18 to 20, wherein the image dividing unit further divides the divided image into layer images related to respective areas of the object.
  • Item 22 Item 22.
  • the image processing system performs predetermined image processing by performing parallel processing on each of the layer images.
  • the predetermined image processing includes correction processing for correcting at least one of luminance, saturation, contrast, color tone, white balance, and lightness of the divided image. system.
  • the correction processing is performed based on metadata included in the input image and/or the divided image.
  • Item 26 26.
  • the image processing system according to any one of Items 1 to 25, wherein the predetermined image processing includes image peripheral complementation processing for generating image information in an area of the divided image outside an outer edge portion of the input image. .. (Item 27) Any one of Items 1 to 26, wherein the predetermined image processing includes a coloring process that changes a color depth forming the divided image and changes color information of each pixel of the divided image according to the color depth.
  • Image dividing means for dividing the input image according to the size of the input image
  • Image processing means for performing predetermined image processing on each of the divided images by parallel processing
  • An image integration unit that integrates the divided images that have been subjected to the predetermined image processing into one output image
  • Function as The image dividing unit divides the input image so as to include a peripheral region in the divided image
  • the image processing means performs the predetermined image processing on the divided image including the peripheral region
  • the image integration means removes an image of the peripheral region of the divided image after the image processing, and joins end regions of the divided image after removing the image of the peripheral region,
  • a program characterized by that.
  • FIG. 1 is a diagram showing an example of the overall configuration of an image processing system according to an embodiment of the present invention.
  • the image processing system of this embodiment is configured to include an image processing server 1.
  • the image processing server 1 is communicatively connected to one or more user terminals 2 via a communication network 3.
  • the communication network 3 is, for example, the Internet, and is constructed by a public telephone line network, a mobile telephone line network, a wireless communication path, Ethernet (registered trademark), or the like.
  • the image processing system of this embodiment is intended to provide a super-resolution processing service for increasing the resolution of an input image to one or more users.
  • the image processing system of the present embodiment performs super-resolution processing on a moving image or a still image transmitted from the user terminal 2, and returns the output image to the user terminal 2.
  • the image processing server 1 is a computer for performing super-resolution processing that increases the resolution of moving images and still images received from the user terminal 2.
  • the image processing server 1 is, for example, a personal computer, a workstation, or a virtual computer based on cloud computing.
  • the image processing server 1 is assumed to execute these functions as a so-called Web application.
  • the image processing server 1 is illustrated as a single server in FIG. 1, the present invention is not limited to this, and the image processing system includes a plurality of image processing servers including the image processing server 1.
  • the image processing can be executed in parallel by a plurality of image processing servers by the distributed processing.
  • the increase or decrease in the number of image processing servers that perform distributed processing can be dynamically changed according to the load of super-resolution processing and/or the image size for which super-resolution processing is performed.
  • the user terminal 2 is a computer such as a mobile phone, a smartphone, a tablet computer, or a personal computer.
  • the user terminal 2 transmits a moving image or a still image selected by the user to the image processing server 1 and receives an output image subjected to super-resolution processing.
  • application software corresponding to the image processing system according to this embodiment may be installed.
  • FIG. 2 is a diagram showing a hardware configuration example of the image processing server 1 of the present embodiment.
  • the image processing server 1 includes at least a control unit 10, a memory 11, a storage 12, a transmission/reception unit 13, an input/output unit 14, an image control unit 15, an image memory 16, and the like, which are electrically connected to each other via a bus 17.
  • the control unit 10 is an arithmetic unit that controls the overall operation of the image processing server 1, controls transmission/reception of data between each element, and executes information processing necessary for execution of applications and authentication processing.
  • the control unit 10 is, for example, a CPU (Central Processing Unit), and executes a program or the like stored in the storage 12 and expanded in the memory 11 to perform each information processing.
  • CPU Central Processing Unit
  • the control unit 10 divides the input image transmitted from the user terminal 2 or integrates the divided images subjected to the super-resolution processing, for example.
  • the memory 11 includes a main memory configured by a volatile storage device such as a DRAM (Dynamic Random Access Memory) and an auxiliary storage configured by a non-volatile storage device such as a flash memory or an HDD (Hard Disc Drive). ..
  • the memory 11 is used as a work area or the like of the processor 10, and also stores a BIOS (Basic Input/Output System) executed when the image processing server 1 is started up, various setting information, and the like.
  • the storage 12 stores various programs such as application programs.
  • a database (not shown) that stores data used for each process may be built in the storage 12.
  • the transmission/reception unit 13 connects the image processing server 1 to the communication network 3.
  • the transmission/reception unit 13 may include a short-range communication interface such as Bluetooth (registered trademark) or Wi-Fi (registered trademark).
  • the transmission/reception unit 13 receives, for example, a moving image or a still image from the user terminal 2, or transmits image data whose resolution has been increased by the image processing server 1 to the user terminal 2.
  • the input/output unit 14 is an information input device such as a keyboard, a mouse, and a controller, and an output device such as a display.
  • the image control unit 15 performs super-resolution processing for increasing the resolution of each divided image divided by the control unit 10 by parallel processing.
  • the image control unit 15 is, for example, a GPU (Graphics Processing Unit), and can execute parallel processing of instructions from a CPU that is a host simultaneously by a large number of cores. Further, the image control unit 15 may simultaneously perform parallel processing by using an accelerator or an accelerator cluster. Examples of the accelerator include, but are not limited to, a CPU, a GPU, an FPGA, an ASIC, a calculation core dedicated to a neural network of an original definition, a calculation device using light dedicated to inference, and the like.
  • the image memory 16 is used to store high-resolution image data.
  • the image memory 16 is, for example, a VRAM (Video Random Access Memory).
  • the bus 17 is commonly connected to each of the above elements and transmits, for example, an address signal, a data signal, and various control signals.
  • FIG. 3 is a diagram showing a software configuration example of the image processing server 1.
  • the image processing server 1 includes an image division unit 111, a super-resolution processing unit 112, an image integration unit 113, an input image storage unit 151, a divided image storage unit 152, and an output image storage unit 153.
  • the image division unit 111, the super-resolution processing unit 112, and the image integration unit 113 read the program stored in the storage 12 by the control unit 10 or the image control unit 15 included in the image processing server 1 into the memory 11. It is realized by executing. Further, the input image storage unit 151, the divided image storage unit 152, and the output image storage unit 153 are realized as a part of the storage area provided by at least one of the memory 11, the storage 12, and the image memory 16. .. Further, with respect to the processing executed in each unit, parallel processing can be performed by a plurality of devices in the image processing server 1 and/or other servers according to the processing load and hardware resources. Such a server may be equipped with a GPU (Graphics Processing Unit), and parallel processing may be performed simultaneously using a plurality of GPUs as resources.
  • GPU Graphics Processing Unit
  • the input image storage unit 151 stores one frame of a moving image transmitted from the user terminal 2 or a transmitted still image as an input image.
  • the input image storage unit 151 is provided in the memory 11, for example.
  • the divided image storage unit 152 stores each divided image obtained by dividing the input image.
  • the divided image storage unit 152 is provided in, for example, the image memory 16.
  • the output image storage unit 153 stores an image that has been subjected to super-resolution processing and is to be transmitted to the user terminal 2.
  • the output image storage unit 153 is provided in the memory 11, for example.
  • the image dividing unit 111 divides the input image. For example, the image dividing unit 111 divides the input image according to the size of the input image. In the present embodiment, the image division unit 111 also increases the size of the divided image when the size of the input image is large. The image dividing unit 111 may divide the input image when the size of the input image is larger than a predetermined size. Further, as another example, when the size of the input image is large, it is important to reduce the waiting time, and the number of image processing servers is increased and the super-resolution processing is parallelized while keeping the input image size unchanged. You can also run with.
  • the image dividing unit 111 is not limited to the above example, and may adjust the image information amount (for example, the number of bits or the information amount in the RAW image), the number of image channels (for example, RGB, RGBA, CMYK, or the like) or the image processing time. Based on this, the input image may be divided. Further, the image dividing unit 111 dynamically changes the size of each divided image so that the processing amount of each parallel process in the super-resolution processing unit 112 is smoothed, and stores it in the divided image storage unit 152.
  • the smoothing of the processing amount includes, for example, smoothing that equalizes the information amount of the high frequency component of each divided image.
  • the smoothing of the processing amount in the parallel processing is performed according to various information amounts held by each divided image.
  • the allocation method can be set according to each attribute (eg, illustration, photograph, etc.) of the divided images, and the processing amount suitable for each divided image can be allocated.
  • the type of the information amount may be, for example, the above-described attribute or the amount of noise included in each divided image.
  • the amount of change between frames in each divided image may be the type of information amount.
  • the image dividing unit 111 increases the size of the divided image because the processing amount is small in the portion where the pixel value hardly changes (the portion where the high frequency component is low), and the portion where the pixel value changes drastically (the high frequency component is As for the high part), the amount of processing is increased, so the size of the divided image is reduced.
  • the image dividing unit 111 may divide the input image based on the latency of the network, or may divide the input image according to the element that is in the bottleneck state in the image processing server 1 such as the memory. Good.
  • the image dividing unit 111 adds an extra peripheral region around each divided image to each divided image and stores it in the divided image storage unit 152. That is, each divided image has a region (peripheral region) common to other divided images.
  • FIG. 4 is a diagram for explaining an example of divided images according to the present embodiment.
  • a plurality of divided images D1 are generated by dividing the input image I1.
  • the image division unit 111 determines the division area D10.
  • the image division unit 111 attaches the peripheral region D11 to the periphery of the divided region D10.
  • the peripheral image may be added to only a part of the periphery of the divided region for the divided image located at the end of the input image.
  • the super-resolution processing unit 112 increases the resolution of each divided image by parallel processing. Such parallel processing can be performed simultaneously for the purpose of increasing the speed of image processing.
  • the super-resolution processing unit 112 is provided in the image control unit 15.
  • the super-resolution processing unit 112 executes super-resolution processing in parallel in each core (or accelerator/accelerator cluster) of the GPU. At that time, as shown in FIG. 4, the super-resolution processing unit 112 performs high resolution processing on the divided image D1 including the peripheral region D11.
  • the super-resolution processing the nearest neighbor (Nearest Neighbor), sparse coding, SRCNN (Super-Resolution Concurrent Neural Network), and SRGAN (Super-Resolution UsualaNerative) are included.
  • the normal enlargement processing with a small processing load is performed without performing the super-resolution processing on the portion where the luminance change is small/there are only low-frequency components in the image or a large portion thereof.
  • parallel processing in each core (or accelerator/accelerator cluster) of the GPU of the image processing server 1 and a plurality of image processing including the image processing server 1 are performed. Either or both of the parallel processing by the server can be applied.
  • the parallel processing when parallel processing by a plurality of image processing servers is applied, it is possible to change the increase or decrease in the number of processed images according to the processing load of the super-resolution processing and/or the image size for performing the super-resolution processing. Further, regarding the parallel processing, when the image processing server 1 receives a processing request from the user terminal 2, the order of the processing is determined, and a plurality of computing systems are used for the processing related to the user, so that the per user It is possible to shorten the processing time and realize the efficient calculation resource efficiency in the queuing theory.
  • the super-resolution processing unit 112 may use a lighter weight method when the information amount (for example, high frequency component) of the divided image is small.
  • the super-resolution processing unit 112 performs parallel processing because quality is required for each RGB component of each divided image (the amount of calculation increases), and quality is required for an Alpha component (transparency). Perform batch processing because it does not exist (the amount of calculation is small).
  • the batch processing for the Alpha components can be performed by the control unit 10 or can be performed by a device other than the parallel processing for the RGB components, such as the user terminal 2 or another image processing server 1. it can. Further, as another example, parallel processing can be applied to both the RGB component and the Alpha component. Furthermore, as another example, the super-resolution processing unit 112 performs super-resolution processing on a gray-scale image composed of Alpha components of divided images, and obtains the resulting gray-scale after the super-resolution processing. Super-resolution processing may be performed on each of the RGB components of the divided image based on the image. Specifically, the super-resolution processing unit 112 performs super-resolution processing on the grayscale image indicating the Alpha component of the divided image.
  • the super-resolution processing unit 112 uses the grayscale image for masking and performs super-resolution processing on the RGB components.
  • the super-resolution processing of the image including the Alpha component only the model for the RGB components can be used as the machine learning model used for the super-resolution processing.
  • the super-resolution processing unit 112 is an example of an image processing unit. Modifications of image processing other than the super-resolution processing unit 112 will be described later. Further, the image processing unit can perform the same type of image processing on each of the divided images. For example, the image processing unit can perform the same type of image processing on each of the adjacent divided images. In this case, the filters and parameters used for image processing may be the same.
  • the image integration unit 113 integrates the high-resolution divided images into one output image.
  • the image integration unit 113 removes the image of the peripheral area of the divided image after the image processing, and joins the edge areas of the divided image after removing the image of the peripheral area.
  • the edge area means an edge portion in the divided area of the divided image.
  • the peripheral area D11 is an area overlapping a part of the adjacent divided images.
  • the image integration unit 113 of the present embodiment removes the image of the peripheral area D11, and joins the edge area D100 of the divided image that leaves only the divided area D10 with the adjacent divided image.
  • the above-described super-resolution processing unit 112 performs high-resolution processing on the divided image including the peripheral area.
  • the image processing is performed based on the information around the target pixel.
  • the accuracy of the image processing of the peripheral portion is lower than that of the central portion.
  • the image dividing unit 111 adds a peripheral region to the divided region, and the super-resolution processing unit 112 performs image processing including the peripheral region. The accuracy of the image processing of the divided areas can be improved.
  • the image integration unit 113 removes the image of the peripheral region when joining the divided images, and joins the end regions of the removed divided images (that is, the portions surrounded by the divided regions) to perform parallel processing. It is possible to increase the accuracy of the high resolution processing of the input image while realizing the speeding up of the processing by.
  • the image integration unit 113 may perform a process of overlapping the joining areas where the divided images are joined.
  • the superposition processing is not particularly limited, but blend processing (gradation or color adjustment (averaging)), resolution improvement in a format that does not impair color, edge adjustment processing, weight from surrounding images. Inference estimation etc. are mentioned.
  • this gradation processing for example, in the joining area of the divided image, the closer the area (pixel) is to the end of the divided image, the lower the degree of reflecting the color of the divided image is, and This is a process in which the farther the area is, the higher the degree of reflecting the color of the divided image is.
  • FIG. 5 is a diagram illustrating a flow of processing executed by the image processing server 1 according to the present embodiment. This process is started when the first frame of the moving image transmitted from the user terminal 2 is stored as the input image in the input image storage unit 151 by the control unit 10. The order and contents of the following steps can be changed.
  • the image dividing unit 111 divides the input image and stores the RGB components of each divided image in the divided image storage unit 152. For example, the image dividing unit 111 dynamically changes the size of each divided image according to the size and high frequency component of the input image so that the super-resolution processing amount of each divided image is smoothed. Further, as another example, the size of the input image can be divided into the same size. Further, the image division unit 111 holds the Alpha component of the input image in the input image storage unit 151, for example. When performing highly accurate super-resolution processing on the Alpha component as well, the RGBA component including the RGB component and the Alpha component may be stored in the divided image storage unit 152. Further, the image division unit 111 adds an extra peripheral region to each of the divided images.
  • FIG. 6 is a diagram showing an example of the input image and the divided image. Then, the process proceeds to the process of step S202.
  • the super-resolution processing unit 112 increases the resolution of the RGB components of each of the divided images divided in step S201 by parallel processing. Specifically, the super-resolution processing unit 112 increases the resolution of one divided image in each of a large number of GPU cores or accelerators/accelerator clusters, and shortens the time for increasing the resolution of a plurality of divided images. Let Further, the super-resolution processing unit 112 performs super-resolution processing on the RGB components of the divided image by SRGAN, for example. In addition, the super-resolution processing unit 112 increases the resolution by collectively processing the Alpha components of the input image stored in the input image storage unit 151. Then, the process proceeds to the process of step S203.
  • Step S203 The image integration unit 113 integrates the RGB components of the respective divided images whose resolution has been increased in step S202 into one output image, and stores it in the output image storage unit 153.
  • the image integration unit 113 performs a process of removing the peripheral region added in step S201.
  • the image integration unit 113 performs a process of removing the image of the peripheral region of the divided image after the image processing and joining the edge regions of the divided image after the removal. Accordingly, the divided images can be integrated while maintaining the image quality of the edge regions of the divided images, and the influence of the division on the image quality can be suppressed.
  • the image integration unit 113 reflects the Alpha component whose resolution has been increased by the batch processing in step S202, in the output image stored in the output image storage unit 153. Then, the process proceeds to the process of step S204.
  • Step S204 The transmission/reception unit 13 transmits to the user terminal 2 the output image stored in the output image storage unit 153 in step S203 (for example, an image in which the RGB component and the Alpha component have high resolution). Then, the process proceeds to the process of step S205.
  • Step S205 The control unit 10 determines whether or not the super-resolution processing from the first frame to the final frame of the moving image transmitted from the user terminal 2 is completed. When the determination is affirmative, the control unit 10 stores the next frame of the moving image as the input image in the input image storage unit 151, and the process proceeds to the process of step S201. On the other hand, if the determination is negative, the process ends the series of processes shown in FIG.
  • the resolution may be increased by using only one frame, but by using a plurality of frames before and after (for example, 3 frames (or 5 or 7 frames), it is possible to obtain a high precision image. If multiple frames are used and parallel processing is performed, it is necessary to set the number of frames that need to be transmitted between accelerator clusters to increase the resolution. Note that if the image transmitted from the user terminal 2 is a still image, this step is omitted.
  • the image processing server 1 includes both the functional unit and the storage unit.
  • the storage unit may be included in the database server, and the image processing server 1 may be provided. You may make it access a database server. Further, all or part of the functional unit and the storage unit may be provided in the user terminal 2.
  • the image processing server 1 performs the super-resolution processing of the moving image transmitted from the user terminal 2 frame by frame, and sequentially transmits the output image subjected to the super-resolution processing to the user terminal 2.
  • part or all of the output images subjected to the super-resolution processing may be collected and transmitted to the user terminal 2 as a moving image.
  • the super-resolution processing unit 112 performs super-resolution processing by one type of method, but it may perform super-resolution processing by a plurality of types of methods.
  • the transmission/reception unit 13 transmits to the user terminal 2 each image subjected to super-resolution processing by a plurality of types of methods (for example, an image obtained by performing super-resolution processing on the first frame of a moving image), and the user terminal 2 performs each of the relevant The images may be displayed in a comparable manner.
  • the user terminal 2 transmits the method to the image processing server 1 in response to an operation of designating a favorite method from the user, and the super-resolution processing unit 112 causes each frame of the moving image to be transmitted by the transmitted method. May be subjected to super-resolution processing.
  • the super-resolution processing unit 112 performs the super-resolution processing on the RGB component and the Alpha component has been described, but the super-resolution processing may be performed using another color space.
  • the color of the pixel may be converted into YUV (Y component of luminance signal, U component of difference signal of blue component, V component of difference signal of red component) to perform super-resolution processing.
  • the super-resolution processing unit 112 may increase the resolution of the Y component, which is sensitive to the human eye, of the YUV in the divided image, and the U component and the V component may be enlarged by another method.
  • the super-resolution processing unit 112 can also apply parallel processing to both the RGB component and the Alpha component.
  • the super-resolution processing unit 112 applies all of the various components or all the various components when XYX, Luv, Lab, CMY, CMYK, HSV, HLS, YUV, YCbCr, YPbPr or the like is applied as another color space.
  • Parallel processing can also be applied to a part.
  • the super-resolution processing unit 112 when performing parallel processing in step S202, performs processing for determining which image processing server should execute the processing and/or which processing model to apply. It may be included.
  • the images are displayed on the user terminal 2 in a comparable manner, they are provided to the user free of charge, and are provided for a fee when the user selects a specific image, or the super-resolution processed video. Alternatively, it may be provided to the user for a fee when the still image is transmitted (downloaded) to the user terminal 2.
  • the super-resolution processing unit 112 may perform a process of learning noise of an image and deleting a portion recognized as noise in a divided image.
  • the administrator of the image processing server 1 may create a learning model.
  • the noise in the real world referred to here is that the image as a map of the true state of the real world undergoes some conversion in comparison with the image of the true state, and the true state disappears.
  • the effect is called noise.
  • JPEG compression noise anti-aliasing noise, blur, motion blur, color reduction noise, reduction/enlargement noise (nearest neighbor complement, Bilinear complement, Bibic complement, Lanczos complement, Area complement), conversion by distortion (Affine conversion) , Perspective conversion), Quantization noise, edge noise during 3D rendering, noise due to ray tracing method selection during 3D rendering, noise due to insufficient number of ray tracing samples during 3D rendering, noise due to CMOS sensor, scan print / Noise when shooting, halftone of printed matter, noise due to ink bleeding in printing, noise due to out of focus during shooting, random noise, convolution using a kernel (box filter/Gaussian) Filter/median filter/bilateral filter, etc.), but not limited thereto.
  • the above noise is modeled as a realistic noise generation method, each is processed as one function, and realistic noise is added to an arbitrary image.
  • the above implementation methods differ depending on various software, and there are subtle errors in what is called the same method.Therefore, each noise is assumed to be included so that the errors are also included. , Can also be converted. Then, an image to which a plurality of the above-mentioned noises are selected and which has been subjected to an arbitrary number of conversions in an arbitrary order becomes an image to which the noise modeled in the real world is added. Further, the respective noises are stochastically selected according to the possibility of co-occurrence, considering whether they are simultaneously applied or not.
  • a machine that can accurately increase the resolution even in the presence of noise existing in the real world by learning the mapping between the noise-added image that models the real world and the image that has not been transformed. The learning model can be trained.
  • the image processing unit may have a function of recognizing an object included in a divided image and performing image recognition processing.
  • the image processing unit recognizes one or a plurality of objects included in the divided image.
  • a known image recognition technique may be used for the image recognition processing of the object, for example.
  • the image processing unit described above may further remove the image information in the area related to the object from the information related to the divided image. As a result, the object is removed from the divided image. Then, the image processing unit may generate the image information in the area related to the object based on the information of the area other than the area related to the object. For example, when the input image is an image including a person and a background as subjects and the person is recognized as an object, the image processing unit removes the person from the input image. In this case, since the image information is deleted from the area where the person is shown, the image processing unit sets the area where the person (a part of) is shown as an image related to the background (that is, an area other than the area related to the object). Image information is generated based on the information and the area is complemented.
  • the image processing unit may remove image information in an area other than the area related to the object from the information related to the divided image. For example, when the input image is an image including a person and a background as a subject and the person is recognized as an object, the image processing unit removes the background from the input image. As a result, it is possible to obtain only the image in which (a part of) the person appears from the divided images.
  • the image processing unit recognizes the area related to the object to be recognized and the other area.
  • the image division unit 111 divides the layer images corresponding to the respective regions. It may be generated.
  • the image processing unit may perform predetermined image processing on each of the divided layer images by parallel processing.
  • the type of image processing is not particularly limited. This allows different processing to be performed for each layer image.
  • the image processing unit may also have a function of performing correction processing for correcting at least one of the brightness, saturation, contrast, color tone, white balance, and brightness (hereinafter, referred to as brightness) of the divided image.
  • correction processing can be realized by, for example, a technique such as automatic level correction or a method using machine learning such as Deep Learning. This makes it possible to obtain images such as HDR (High Dynamic Range).
  • HDR High Dynamic Range
  • this processing may eliminate the whiteout and blackout of the image.
  • the other divided image means a divided image different from the one divided image obtained from the same input image as the one divided image obtained by dividing the input image.
  • the other divided image means a frame group other than a divided image (divided frame group), or one or more frames included in the frame group.
  • the other divided image to be used may be one or plural.
  • the information included in the other divided image may be information obtained by reducing the other divided image, or information based on features extracted by machine learning such as Deep Learning.
  • information included in the input image before division may be used.
  • the degree of correction of the brightness or the like between the divided images may differ after integration by the image integration unit 113, and these adjustments may be necessary.
  • the image integration unit 113 may adjust the brightness and the like of the images after integration.
  • the image processing unit may perform correction processing by HDR processing.
  • the HDR conversion process means a process of correcting an HDR image in which the dynamic range of a divided image is extended, unlike a process of simply adjusting the brightness or the like. Such HDR conversion can be realized by a method such as machine learning.
  • the image processing unit may perform processing for correcting blurring included in the divided images.
  • a known method can be used as a method of processing for correcting the blur.
  • the image processing unit may perform image processing other than the above-described correction processing based on information obtained from other divided images and/or input images.
  • Metadata included in a divided image (including other divided images) or an input image may be used.
  • metadata includes, for example, information about the color space. It is possible to generate a more appropriate HDR image by using such metadata in the correction process related to the brightness and the like.
  • the image processing unit may also perform image peripheral complementation processing for generating image information in a region outside the outer edge portion of the input image (that is, the image peripheral region) in the divided image.
  • the area outside the outer edge portion of the input image does not include information about the image.
  • the image processing unit generates the image information of the region in the divided image based on the image information in the vicinity of the outer edge portion of the input image by the image peripheral complementing process. Specifically, if the vicinity of the outer edge portion of the input image is a region including image information related to the background, the image processing unit generates the image information related to the background as the image information of the region.
  • the image processing unit can perform image complementation on the area.
  • the image complementing process is performed on the divided images, for example, only the divided images having the peripheral image region need be performed, and the processing load can be reduced.
  • Known means can be used for the image complementing process.
  • the image processing unit may change the color depth forming the divided image and perform coloring processing in which the color information of each pixel of the divided image is changed according to the color depth.
  • the coloring process is, for example, a process of changing the amount of data assigned to each pixel of the divided image.
  • the image processing unit performs a process of changing an image having a low color depth such as a monochrome image or a grayscale image to an image having a high color depth such as a color image. Thereby, coloring of the image is realized.
  • the coloring process may be performed only on a part (for example, a region recognized as an object) of the divided images.
  • the process may be performed only on the divided images that require the coloring process, and the processing load can be reduced.
  • a known means can be used for the coloring process.
  • the above-described image processing unit may perform one of the above-mentioned processes independently, or may perform a plurality of combinations of the above-described processes.
  • the image dividing unit 111 may time-series a plurality of frames forming at least a part of the moving image and/or for each of the same image regions corresponding to the plurality of frames. It may be divided to generate divided images.
  • the time-series division process means a process of dividing a plurality of frames into one set of input images.
  • the plurality of frames may be continuous or discontinuous in time series, and the combination thereof is not particularly limited.
  • the division processing for each image region corresponding to a plurality of frames means dividing the divided regions of each frame in association with each other.
  • each frame is divided into images of a size of m/3 ⁇ n/2.
  • This time-series and intra-frame division may be combined appropriately. This allows parallel processing by division even for moving images.
  • the image processing unit may perform the above-described various image processes on the divided images of each frame of the moving image. For example, the image processing unit may perform correction for adjusting the brightness and the like of the input images related to the plurality of frames. Furthermore, the image processing unit may perform image processing based on information related to the movement (optical flow) of a moving image that spans a plurality of frames. For example, the image processing unit may preferentially perform the image processing on the divided images corresponding to the areas in which the motion is large in the plurality of frames. As a result, the resources related to image processing can be used more effectively.
  • the peripheral region may be a divided image including frames before and after the divided frame group. For example, when a moving image consisting of 5000 frames is divided into five divided images, if there is no peripheral area, it is divided into 1000 frames of 1 to 1000, 1001 to 2000, 2001 to 3000, 3001 to 4000, 4001 to 5000. However, when the peripheral region is included, the image division unit may divide the moving image into 1 to 1010, 990 to 2010, 1990 to 3010, 2990 to 4010, 3990 to 5000.
  • the peripheral region of each divided frame group may be removed and the end region (for example, the 1000th frame and the 1001st frame, the 2000th frame and the 2001th frame) may be joined. ..
  • the image dividing unit 111 may also perform a compression process of compressing the input image or the divided image.
  • the image dividing unit 111 can hold information regarding the input image (that is, information regarding the entire image) with a low capacity by compressing the input image.
  • the image processing unit may perform predetermined image processing on the divided images based on such compressed information. As a result, the information of the entire image is reflected in the image processing for the divided images, so that the accuracy of image processing can be improved.
  • Known means can be used for such compression processing.
  • the image division unit 111 may determine the division area based on the image recognition result for the input image. For example, it is assumed that image recognition is performed on an input image in advance and that subsequent image processing is recognized in an important region and an unimportant region. At this time, the image dividing unit 111 determines a divided area so as to be divided into such an important area and a non-important area, and generates each divided image. At this time, each of the divided images does not necessarily have to correspond to the above-described area on a one-to-one basis, and the image dividing unit 111 divides the divided image into a large number of important areas and the divided image into a large number of non-important areas. You may divide.
  • the image processing unit may perform the image processing based on the attribute of the divided image for each divided area obtained based on the image recognition result. For example, when the input image is a banner advertisement including a photograph and an illustration, the image dividing unit 111 determines one or more divided areas corresponding to the photograph and one or more divided areas corresponding to the illustration, and the input image Split. At this time, attributes such as photographs and illustrations are assigned to each divided image. Then, the image processing unit may perform the image processing by changing the resource allocation amount, the image processing parameter, or the like, depending on whether the attribute of the divided image is a photograph or an illustration. Thereby, parallel processing can be executed more efficiently.

Abstract

【課題】任意のサイズの画像を効率的かつより高精度に画像処理する。 【解決手段】画像処理システムは、入力画像のサイズに応じて当該入力画像を分割する画像分割部と、前記分割された分割画像それぞれを並列処理により所定の画像処理を行う画像処理部と、前記所定の画像処理が行われた分割画像それぞれを統合して、1つの出力画像にする画像統合部と、を備え、前記画像分割部は、前記分割画像における周辺領域を含むように前記入力画像を分割し、前記画像処理部は、前記周辺領域を含んで前記分割画像に対して前記所定の画像処理を行い、前記画像統合部は、前記画像処理後の前記分割画像の前記周辺領域を除き、前記周辺領域を除いた後の前記分割画像の端部領域を接合する。

Description

画像処理システム及びプログラム
 本発明は、画像処理システム及びプログラムに関する。
 従来から、低解像度画像から高解像度画像を生成する超解像処理に関する技術が知られている。これに関し、特許文献1には、動画像から静止画像を抽出する際に、静止画像として鑑賞に堪えうる品質を備えた高精細な静止画像を生成する技術が開示されている。また、特許文献2には、超解像処理を実行する前処理として画像補正を実行し、補正した画像に対して超解像処理を実行する技術が開示されている。
特開2009-188891号公報 特開2009-65535号公報
 このような超解像処理のような各種処理においては、一定のサイズ(ピクセル数)の低解像度画像(動画や静止画像)から高解像度画像を生成すること、すなわち画像の情報量の変化を前提としているため、例えばサイズの大きい低解像度画像を処理する際、メモリが制約されたり処理速度が低下したりするという問題があった。そのため、例えば入力用の画像を複数に分割してそれぞれ処理することも考えられるが、分割した画像を処理した後に統合しても、例えば分割画像を接合した部分などの画像処理の精度は十分でなかった。
 本発明は、このような問題を鑑みてなされたものであり、任意のサイズの画像を効率的かつより高精度に画像処理することができる画像処理システム及びプログラムを提供することを目的とする。
 上記課題を解決するための本発明の主たる発明は、入力画像のサイズに応じて当該入力画像を分割する画像分割部と、前記分割された分割画像それぞれを並列処理により所定の画像処理を行う画像処理部と、前記所定の画像処理が行われた分割画像それぞれを統合して、1つの出力画像にする画像統合部と、を備え、前記画像分割部は、前記分割画像における周辺領域を含むように前記入力画像を分割し、前記画像処理部は、前記周辺領域を含んで前記分割画像に対して前記所定の画像処理を行い、前記画像統合部は、前記画像処理後の前記分割画像の前記周辺領域を除き、前記周辺領域を除いた後の前記分割画像の端部領域を接合することを特徴とする。
 その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
 本発明によれば、任意のサイズの画像を効率的かつより高精度に画像処理することができる。
本発明の一実施形態に係る画像処理システムの全体構成例を示す図である。 本実施形態の画像処理サーバ1のハードウェア構成例を示す図である。 画像処理サーバ1のソフトウェア構成例を示す図である。 本実施形態による分割画像の例を説明するための図である。 本実施形態の画像処理サーバ1により実行される処理の流れを説明する図である。 入力画像と分割画像の一例を示す図である。
 本発明の実施形態の内容を列記して説明する。本発明の一実施形態による画像処理装置及びプログラムは、以下のような構成を備える。
(項目1)
 入力画像を分割する画像分割部と、
 前記分割された分割画像それぞれを並列処理により所定の画像処理を行う画像処理部と、
 前記所定の画像処理が行われた分割画像それぞれを統合して、1つの出力画像にする画像統合部と、
 を備え、
 前記画像分割部は、前記分割画像における周辺領域を含むように前記入力画像を分割し、
 前記画像処理部は、前記周辺領域を含んで前記分割画像に対して前記所定の画像処理を行い、
 前記画像統合部は、前記画像処理後の前記分割画像の前記周辺領域の画像を除去し、前記周辺領域の画像を除去した後の前記分割画像の端部領域を接合する、
 ことを特徴とする画像処理システム。
(項目2)
 前記画像分割部は、前記画像処理部における並列処理それぞれの処理量が平滑化されるように、前記分割画像それぞれのサイズを動的に変化させる、
 ことを特徴とする項目1に記載の画像処理システム。
(項目3)
 前記並列処理における処理量の平滑化は、前記分割画像の各々が保有する少なくとも1種以上の情報量に応じて行われる、項目2に記載の画像処理システム。
(項目4)
 前記画像分割部は、前記画像処理部における処理負荷に応じて、並列処理を実行するリソースを動的に変化させる、
 ことを特徴とする項目1~3のいずれか1項に記載の画像処理システム。
(項目5)
 前記並列処理を実行するリソースは、一または複数の画像処理サーバであることを特徴とする項目4に記載の画像処理システム。
(項目6)
 前記入力画像は動画像を含み、
 前記画像分割部は、前記動画像の少なくとも一部を構成する複数のフレームを時系列で、および/または該複数のフレームにおいて対応する画像領域ごとに分割して分割画像を生成する、項目1~5のいずれか1項に記載の画像処理システム。
(項目7)
 前記周辺領域は、前記分割画像を構成する前記複数のフレームの前および/または後ろの少なくとも1以上のフレームを含む領域である、項目6に記載の画像処理システム。
(項目8)
 前記画像処理部は、前記複数のフレームの時系列における動画像の動きの大きさに基づいて、前記分割画像に対する画像処理を行う、項目6または7に記載の画像処理システム。
(項目9)
 前記画像分割部は、前記入力画像または分割した前記分割画像を圧縮する圧縮処理を行い、
 前記画像処理部は、前記圧縮処理より得られる情報に基づいて画像処理を行う、項目1~8のいずれか1項に記載の画像処理システム。
(項目10)
 前記画像分割部は、前記入力画像に対する画像認識結果に基づいて分割領域を決定する、項目1~9のいずれか1項に記載の画像処理システム。
(項目11)
 前記画像処理部は、前記画像認識結果に基づいて得られる前記分割領域ごとの分割画像の属性に基づいて画像処理を行う、項目10に記載の画像処理システム。
(項目12)
 前記画像処理部は、前記分割画像とは異なる他の分割画像および/または前記入力画像より得られる情報を用いて画像処理を行う、項目1~11のいずれか1項に記載の画像処理システム。
(項目13)
 前記画像処理部は、前記画像分割部により分割された前記分割画像を高解像度化する超解像処理部を含む、項目1~12のいずれか1項に記載の画像処理システム。
(項目14)
 前記超解像処理部は、前記分割画像それぞれのRGB成分に対して並列処理を行い、Alpha成分に対しては一括処理を行う、
 ことを特徴とする項目13に記載の画像処理システム。
(項目15)
 前記超解像処理部は、前記分割画像それぞれのRGB成分及びAlpha成分に対して並列処理を行うことを特徴とする項目13または14に記載の画像処理システム。
(項目16)
 前記超解像処理部は、前記分割画像のAlpha成分により構成されるグレースケール画像に対して超解像処理を行い、超解像処理後のグレースケール画像に基づいて前記分割画像のRGB成分に対する超解像処理を行うことを特徴とする項目13~15のいずれか1項に記載の画像処理システム。
(項目17)
 前記超解像処理部は、前記分割画像それぞれの色空間の成分の全部または一部に対して並列処理を行うことを特徴とする項目13~16のいずれか1項に記載の画像処理システム。
(項目18)
 前記所定の画像処理は、前記分割画像に含まれるオブジェクトを認識する画像認識処理を含む、項目1~17のいずれか1項に記載の画像処理システム。
(項目19)
 前記画像処理部は、前記分割画像に係る情報から、認識された前記オブジェクトに係る領域における画像情報を除去し、前記オブジェクトに係る領域以外の領域の情報に基づいて前記オブジェクトに係る領域における画像情報を生成する、項目18に記載の画像処理システム。
(項目20)
 前記画像処理部は、前記分割画像に係る情報から、前記オブジェクトに係る領域以外の領域における画像情報を除去する、項目18または19に記載の画像処理システム。
(項目21)
前記画像分割部は、前記分割画像を前記オブジェクトに係る領域の各々に係るレイヤー画像にさらに分割する、項目18~20のいずれか1項に記載の画像処理システム。
(項目22)
 前記画像処理部は、前記レイヤー画像のそれぞれを並列処理により所定の画像処理を行う、項目21に記載の画像処理システム。
(項目23)
 前記所定の画像処理は、前記分割画像の輝度、彩度、コントラスト、色調、ホワイトバランスおよび明度の少なくともいずれかを補正する補正処理を含む、項目1~22のいずれか1項に記載の画像処理システム。
(項目24)
 前記補正処理は、前記入力画像および/または前記分割画像に含まれるメタデータに基づいて行われる、項目23に記載の画像処理システム。
(項目25)
 前記所定の画像処理は、前記分割画像に対するHDR化処理を含む、項目1~24のいずれか1項に記載の画像処理システム。
(項目26)
 前記所定の画像処理は、前記分割画像のうち前記入力画像の外縁部分より外側の領域における画像情報を生成する画像周辺補完処理を含む、項目1~25のいずれか1項に記載の画像処理システム。
(項目27)
 前記所定の画像処理は、前記分割画像を構成する色深度を変更し、前記分割画像の画素の各々の色彩情報を該色深度に応じて変化させる着彩処理を含む、項目1~26のいずれか1項に記載の画像処理システム。
(項目28)
 前記所定の画像処理は、前記分割画像に含まれるボケを補正する処理を含む、項目1~27のいずれか1項に記載の画像処理システム。
(項目29)
 コンピュータを、
 入力画像のサイズに応じて当該入力画像を分割する画像分割手段、
 前記分割された分割画像それぞれを並列処理により所定の画像処理を行う画像処理手段、
 前記所定の画像処理がされた分割画像それぞれを統合して、1つの出力画像にする画像統合手段、
 として機能させ、
 前記画像分割手段は、前記分割画像における周辺領域を含むように前記入力画像を分割し、
 前記画像処理手段は、前記周辺領域を含んで前記分割画像に対して前記所定の画像処理を行い、
 前記画像統合手段は、前記画像処理後の前記分割画像の前記周辺領域の画像を除去し、前記周辺領域の画像を除去した後の前記分割画像の端部領域を接合する、
 ことを特徴とするプログラム。
 以下、添付図面を参照しながら本発明の実施形態(以下、本実施形態という。)について説明する。
 図1は、本発明の一実施形態に係る画像処理システムの全体構成例を示す図である。本実施形態の画像処理システムは、画像処理サーバ1を含んで構成される。画像処理サーバ1は、一又は複数のユーザ端末2と通信ネットワーク3を介して通信可能に接続される。通信ネットワーク3は、たとえばインターネットであり、公衆電話回線網や携帯電話回線網、無線通信路、イーサネット(登録商標)などにより構築される。
 本実施形態の画像処理システムは、一又は複数のユーザに対して、入力された画像の解像度を高める超解像処理サービスを提供しようとするものである。本実施形態の画像処理システムは、たとえば、ユーザ端末2から送信された動画や静止画に対して超解像処理を行い、出力画像を当該ユーザ端末2に返送する。
 画像処理サーバ1は、ユーザ端末2から受信した動画や静止画の解像度を高める超解像処理を行うためのコンピュータである。画像処理サーバ1は、たとえば、パーソナルコンピュータやワークステーション、クラウドコンピューティングによる仮想的なコンピュータである。画像処理サーバ1は、いわゆるWebアプリケーションとしてこれらの機能を実行することを想定する。なお、図1において、画像処理サーバ1は単一のサーバとして図示しているが、これに限らず、本画像処理システムは、画像処理サーバ1を含む複数の画像処理サーバを有し、超解像処理を、画像処理サーバ1における分散処理に加えて、複数の画像処理サーバで並列して分散処理によって実行することができる。また、ここで、分散処理を行う画像処理サーバの台数の増減を、超解像処理の負荷及び/または超解像処理を行う画像サイズに応じて動的に変更することもできる。
 ユーザ端末2は、携帯電話、スマートフォン、タブレットコンピュータ、パーソナルコンピュータなどのコンピュータである。
 ユーザ端末2は、ユーザが選択した動画や静止画を画像処理サーバ1に送信し、超解像処理が行われた出力画像を受信する。ユーザ端末2には、たとえば、本実施形態に係る画像処理システムに対応するアプリケーションソフトがインストールされていてもよい。
 図2は、本実施形態の画像処理サーバ1のハードウェア構成例を示す図である。画像処理サーバ1は、少なくとも、制御部10、メモリ11、ストレージ12、送受信部13、入出力部14、画像制御部15、画像用メモリ16等を備え、これらはバス17を通じて相互に電気的に接続される。制御部10は、画像処理サーバ1全体の動作を制御し、各要素間におけるデータの送受信の制御、及びアプリケーションの実行及び認証処理に必要な情報処理等を行う演算装置である。制御部10は、例えばCPU(Central Processing Unit)であり、ストレージ12に格納されメモリ11に展開されたプログラム等を実行して各情報処理を実施する。また、制御部10は、例えばユーザ端末2から送信された入力画像を分割したり、超解像処理が行われた分割画像それぞれを統合したりする。メモリ11は、DRAM(Dynamic Random Access Memory)等の揮発性記憶装置で構成される主記憶と、フラッシュメモリやHDD(Hard Disc Drive)等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ11は、プロセッサ10のワークエリア等として使用され、また、画像処理サーバ1の起動時に実行されるBIOS(Basic Input/Output System)、及び各種設定情報等を格納する。ストレージ12は、アプリケーション・プログラム等の各種プログラムを格納する。各処理に用いられるデータを格納したデータベース(図示せず)がストレージ12に構築されていてもよい。送受信部13は、画像処理サーバ1を通信ネットワーク3に接続する。なお、送受信部13は、Bluetooth(登録商標)やWi-Fi(登録商標)などの近距離通信インターフェースを備えていてもよい。送受信部13は、例えば、ユーザ端末2から動画や静止画を受信したり、画像処理サーバ1で高解像度化した画像データをユーザ端末2に送信したりする。入出力部14は、キーボードやマウス類、コントローラ等の情報入力機器、及びディスプレイ等の出力機器である。画像制御部15は、制御部10によって分割された分割画像それぞれを並列処理により高解像度化する超解像処理を行う。画像制御部15は、例えば、GPU(Graphics Processing Unit)であり、ホストであるCPUからの命令を多数のコアにより同時に並列処理を行うことができる。また、画像制御部15は、アクセラレーターや、アクセラレータークラスタにより同時に並列処理を行ってもよい。アクセラレーターとしては、例えば、CPU、GPU、FPGA、ASIC、独自定義のニューラルネットワーク専用演算コア、推論専用の光を用いた演算装置などが挙げられ、これらに限定されない。画像用メモリ16は、高解像度化された画像データを格納するために用いられる。画像用メモリ16は、例えば、VRAM(Video Random Access Memory)である。バス17は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号及び各種制御信号を伝達する。
 図3は、画像処理サーバ1のソフトウェア構成例を示す図である。画像処理サーバ1は、画像分割部111、超解像処理部112、画像統合部113、入力画像記憶部151、分割画像記憶部152、および出力画像記憶部153を備える。
 なお、画像分割部111、超解像処理部112、および画像統合部113は、画像処理サーバ1が備える制御部10又は画像制御部15がストレージ12に記憶されているプログラムをメモリ11に読み出して実行することにより実現される。また、入力画像記憶部151、分割画像記憶部152、および出力画像記憶部153は、メモリ11、ストレージ12、又は画像用メモリ16の少なくともいずれかにより提供される記憶領域の一部として実現される。また、各部で実行される処理について、その処理負荷やハードウェアリソースに応じて、画像処理サーバ1内の複数の装置、及び/または、他のサーバで並列処理を行うこともできる。かかるサーバにはGPU(Graphics Processing Unit)が搭載され、複数のGPUをリソースとして同時に並列処理が行われてもよい。
 入力画像記憶部151は、ユーザ端末2から送信された動画の1フレームや、送信された静止画を入力画像として記憶する。入力画像記憶部151は、例えばメモリ11に設けられている。
 分割画像記憶部152は、入力画像が分割された分割画像それぞれを記憶する。分割画像記憶部152は、例えば画像用メモリ16に設けられている。
 出力画像記憶部153は、超解像処理が行われた画像であって、ユーザ端末2に送信する出力画像を記憶する。出力画像記憶部153は、例えばメモリ11に設けられている。
 画像分割部111は、入力画像を分割する。例えば、画像分割部111は、入力画像のサイズに応じて当該入力画像を分割する。本実施形態では、画像分割部111は、入力画像のサイズが大きい場合、分割画像のサイズも大きくする。また、画像分割部111は、入力画像のサイズが所定のサイズよりも大きい場合に、入力画像を分割してもよい。また、他の例として、入力画像のサイズが大きい場合、待ち時間を少なくすることを重視し、入力画像サイズのままで、画像処理サーバの台数を増やして超解像処理を並列化処理することで実行することもできる。なお、画像分割部111は、上記の例に限らず、画像の情報量(例えばビット数やRAW画像における情報量)、画像のチャンネル数(例えばRGB、RGBAまたはCMYK等)または画像の処理時間に基づいて、入力画像を分割してもよい。また、画像分割部111は、超解像処理部112における並列処理それぞれの処理量が平滑化されるように、分割画像それぞれのサイズを動的に変化させ、分割画像記憶部152に記憶する。かかる処理量の平滑化は、例えば分割画像それぞれの高周波成分の情報量を均一化する平滑化を含む。すなわち、並列処理における処理量の平滑化は、各分割画像が保有する各種の情報量に応じて行われる。これにより、分割画像のそれぞれの属性(例えば、イラスト、写真等)に応じた割り当て方とすることができ、分割画像のそれぞれに適した処理量の割り当てが可能となる。かかる情報量の種類は、例えば、上述した属性、各分割画像に含まれるノイズ量であり得る。また、入力画像が動画像である場合は、各分割画像におけるフレーム間の変化量の大きさ等が情報量の種類であり得る。また、画像分割部111は、ほとんど画素値が変化しない部分(高周波成分が低い部分)に関しては、処理量が少なくなるため分割画像のサイズを大きくし、画素値が激しく変化する部分(高周波成分が高い部分)に関しては、処理量が多くなるため分割画像のサイズを小さくする。他にも画像分割部111は、ネットワークのレイテンシに基づいて入力画像を分割してもよく、メモリなど画像処理サーバ1においてボトルネックの状態となっている要素に応じて入力画像を分割してもよい。また、画像分割部111は、分割画像それぞれに対して、分割画像の周辺に周辺領域を余分に付加して分割画像記憶部152に記憶する。すなわち、各分割画像は、他の分割画像と共通する領域(周辺領域)を有する。
 ここで、分割画像の一例について説明する。図4は、本実施形態による分割画像の例を説明するための図である。図4に示すように、入力画像I1から複数の分割画像D1が分割されて生成される。まず、画像分割部111は、分割領域D10を決定する。そして、画像分割部111は、入力画像を各分割画像に分割する際、分割領域D10に付随して、その周辺に周辺領域D11を付与する。なお、分割画像のうち、入力画像の端部に位置する分割画像については、分割領域の周囲の一部分のみに周辺領域が付与されてもよい。
 超解像処理部112は、分割された分割画像それぞれを並列処理により高解像度化する。かかる並列処理は、画像処理の速度を向上する目的のため、同時に行われ得る。本実施形態では、超解像処理部112は、画像制御部15に設けられている。例えば、超解像処理部112は、GPUの各コア(またはアクセラレーター/アクセラレータークラスタ)において、並列して超解像処理を実行する。その際、超解像処理部112は、図4に示すように、周辺領域D11を含めて分割画像D1について高解像度化の処理を行う。なお、この超解像処理としては、最近傍(Nearest Neighbor)や、スパースコーディング、SRCNN(Super-Resolution Convolutional Neural Network)、SRGAN(Super-Resolution Usinga Generative Adversarial Network)などの手法が挙げられる。ここで、前述のように、画像において輝度変化が少ない/低周波成分がしかない、あるいは、多く占める部分については、超解像処理を行わずに、処理負荷の小さい通常の拡大処理を行うこともできる。また、超解像処理の並列処理については、前述のように、画像処理サーバ1のGPUの各コア(またはアクセラレーター/アクセラレータークラスタ)における並列処理と、画像処理サーバ1を含む複数の画像処理サーバによる並列処理のいずれか、または、両方を適用することができる。また、複数の画像処理サーバによる並列処理を適用する場合、超解像処理の処理負荷及び/または超解像処理を行う画像サイズに応じて、その処理台数の増減を変更することができる。また、並列処理について、画像処理サーバ1がユーザ端末2から処理リクエストを受信した場合に、その処理の順番を決定し、当該ユーザに関連する処理について複数の計算システムを使用することでユーザ一人当たりの処理時間を短縮し、かつ、待ち行列理論的に、効率的な計算資源効率を実現することができる。
 また、ここで、超解像処理部112は、分割画像の情報量(例えば高周波成分)が少ない場合、より軽量な手法を取ってもよい。また、超解像処理部112は、分割画像それぞれのRGB成分に対してはクオリティが求められる(計算量が多くなる)ため並列処理を行い、Alpha成分(透明度)に対してはクオリティが求められない(計算量が少なくて済む)ため一括処理を行う。このように求められる処理の情報量に応じて並列処理か一括処理かを選択することにより、ボトルネックとなる処理を優先的に並列処理することができ、全体としての画像処理を高速化することができる。なお、このAlpha成分に対する一括処理は、制御部10で行うこともできるし、RGB成分に対する並列処理とは別の装置、例えば、ユーザ端末2、または、他の画像処理サーバ1において実行することができる。また、他の例として、RGB成分及びAlpha成分両方について並列処理を適用することもできる。さらに、他の例として、超解像処理部112は、分割画像のAlpha成分により構成されるグレースケール画像に対して超解像処理を行い、その結果得られた超解像処理後のグレースケール画像に基づいて、分割画像のRGB成分のそれぞれに対して超解像処理を行ってもよい。具体的には、超解像処理部112は、分割画像のAlpha成分を示すグレースケール画像に対して超解像処理を行う。そして、超解像処理部112は、かかるグレースケール画像をマスキングに用いて、RGB成分に対する超解像処理を行う。これにより、Alpha成分を含む画像の超解像度処理において、該超解像処理に用いる機械学習のモデルとして、RGB成分用のみのモデルのみを用いることができる。
 なお、本実施形態に係る超解像処理部112は画像処理部の一例である。超解像処理部112以外の画像処理の変形例については後述する。また、画像処理部は、分割した各分割画像に対して同種の画像処理を行い得る。例えば、画像処理部は、隣接した分割画像のそれぞれに対して、同種の画像処理を行い得る。この場合、画像処理に用いられるフィルタやパラメータも同一であり得る。
 画像統合部113は、高解像度化された分割画像それぞれを統合して、1つの出力画像にする。本実施形態では、画像統合部113は、画像処理後の分割画像の周辺領域の画像を除去し、周辺領域の画像を除去した後の分割画像の端部領域を接合する。端部領域とは、分割画像の分割領域におけるエッジの部分を意味する。図4に示したように、周辺領域D11は隣接する分割画像の一部と重複する領域である。本実施形態の画像統合部113は、この周辺領域D11の画像を取り除き、分割領域D10のみ残した分割画像の端部領域D100を隣接する分割画像と接合する。
 上述した超解像処理部112は、分割画像に対して周辺領域を含めて高解像処理を行う。かかる画像処理においては、対象の画素の周囲の情報に基づいて画像処理が行われる。その際、分割画像の中央部分に比較して、周辺部分の情報は十分でないことが多いため、周辺部分の画像処理の精度は中央部分に比較して低い。特に、深層学習など広範囲の情報を用いる処理においては、その精度の差が顕著に現れる。そこで、画像分割部111が分割領域に周辺領域を付与し、超解像処理部112がかかる周辺領域を含めて画像処理を行うことで、分割領域のみを画像処理を行う場合と比較して、分割領域の画像処理の精度を高めることができる。そして、画像統合部113が、分割画像の接合の際に、周辺領域の画像を除去し、除去後の分割画像(すなわち分割領域により囲まれる部分)の端部領域を接合することで、並列処理による処理の高速化を実現しつつ、入力画像の高解像処理の精度を高くすることができる。
 なお、他の実施形態では、画像統合部113は、分割画像同士が接合される接合領域を重ね合わせる処理を施してもよい。この重ね合わせる処理としては、特に限定はされないが、ブレンド処理(グラデーションや、色の調整(平均化))、色が損なわれない形式での解像度向上、エッジの調整処理、周囲の画像からの重み付き推定等が挙げられる。このグラデーション処理は、例えば、分割画像の接合領域のうち、当該分割画像の端部に近い領域(ピクセル)であるほど当該分割画像の色を反映する度合いを低くし、当該分割画像の端部から遠い領域であるほど当該分割画像の色を反映する度合いを高くする処理である。すなわち、分割画像の端部に近い領域であるほど重ね合わせる分割画像の色を反映する度合いを高くし、分割画像の端部から遠い領域であるほど重ね合わせる分割画像の色を反映する度合いを低くする。
 図5は、本実施形態の画像処理サーバ1により実行される処理の流れを説明する図である。この処理は、ユーザ端末2から送信された動画の1フレーム目が、制御部10によって入力画像記憶部151に入力画像として記憶された場合に開始される。なお、以下のステップの順番及び内容は変更することができる。
(ステップS201)
 画像分割部111は、入力画像を分割し、分割した分割画像それぞれのRGB成分を分割画像記憶部152に記憶する。例えば、画像分割部111は、入力画像のサイズ及び高周波成分に応じて、分割画像それぞれの超解像処理量が平滑化されるように、分割画像それぞれのサイズを動的に変化させる。また、他の例として、入力画像のサイズを同じサイズで分割することもできる。また、画像分割部111は、例えば入力画像のAlpha成分を入力画像記憶部151に保持する。なお、Alpha成分についても高精度な超解像処理を行う場合は、RGB成分とAlpha成分を含むRGBA成分を分割画像記憶部152に記憶してもよい。また、画像分割部111は、分割した分割画像それぞれに対して、周辺領域を余分に付加する。図6は、入力画像と分割画像の一例を示す図である。そして、処理は、ステップS202の処理に移行する。
(ステップS202)
 超解像処理部112は、上記ステップS201において分割された分割画像それぞれのRGB成分を並列処理により高解像度化する。具体的には、超解像処理部112は、多数のGPUコア、または、アクセラレーター/アクセラレータークラスタのそれぞれで1つの分割画像を高解像度化し、複数の分割画像を高解像度化する時間を短縮させる。また、超解像処理部112は、例えば、分割画像のRGB成分をSRGANによって超解像処理する。また、超解像処理部112は、入力画像記憶部151に保持された入力画像のAlpha成分に対して一括処理を行うことにより高解像度化する。そして、処理は、ステップS203の処理に移行する。
(ステップS203)
 画像統合部113は、上記ステップS202において高解像度化された分割画像それぞれのRGB成分を統合して1つの出力画像とし、出力画像記憶部153に記憶する。ここで、画像統合部113は、上記ステップS201で余分に付加された周辺領域を除去する処理を行う。具体的には、画像統合部113は、画像処理後の分割画像のうち周辺領域の画像を除去し、除去後の分割画像の端部領域同士を接合する処理を行う。これにより、分割画像の端部領域の画質を維持したまま分割画像同士を統合でき、分割による画質への影響を抑制することができる。続いて、画像統合部113は、上記ステップS202において一括処理で高解像度化されたAlpha成分を、出力画像記憶部153に記憶された出力画像に反映する。そして、処理は、ステップS204の処理に移行する。
(ステップS204)
 送受信部13は、上記ステップS203において出力画像記憶部153に記憶された出力画像(例えば、RGB成分とAlpha成分を高解像度化した画像)をユーザ端末2に送信する。そして、処理は、ステップS205の処理に移行する。
(ステップS205)
 制御部10は、ユーザ端末2から送信された動画の1フレーム目から最終フレームまでの超解像処理が終了したか否かを判定する。当該判定が肯定判定された場合、制御部10は、動画の次のフレームを入力画像として入力画像記憶部151に記憶し、処理は、ステップS201の処理に移行する。一方、当該判定が否定された場合、処理は、図5に示す一連の処理を終了する。ここで、動画の場合、1フレームのみを使って、高解像度化する場合もあるが、前後の複数のフレーム(例えば、3フレーム(または、5あるいは7フレーム)を用いて、より精度の高い高解像度化を行うこともできる。また、複数フレームを使い、かつ、並列処理をする場合は、高解像度化するフレームをアクセラレータークラスタ間等で送信する必要があるフレーム数が少なくするように設定することができる。なお、ユーザ端末2から送信された画像が静止画である場合には、本ステップは省略される。
 以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
 また、上記実施形態では、画像処理サーバ1が機能部と記憶部とを両方備えているものとしたが、これに限らず、たとえば、記憶部をデータベースサーバが備えるようにし、画像処理サーバ1からデータベースサーバにアクセスするようにしてもよい。また、当該機能部と記憶部の全部又は一部は、ユーザ端末2に設けられてもよい。
 また、上記実施形態では、画像処理サーバ1は、ユーザ端末2から送信された動画を1フレームずつ超解像処理し、当該超解像処理した出力画像を逐次ユーザ端末2に送信することとしたが、当該超解像処理した出力画像の一部又は全部をまとめて、動画としてユーザ端末2に送信することとしてもよい。
 また、上記実施形態では、超解像処理部112は、1種類の手法で超解像処理を行うこととしたが、複数種類の手法で超解像処理を行ってもよい。例えば、送受信部13は、ユーザ端末2に複数種類の手法で超解像処理を行った各画像(例えば動画の1フレーム目を超解像処理した画像)を送信し、ユーザ端末2において当該各画像を比較可能に表示させてもよい。次いで、ユーザ端末2は、ユーザからの好みの手法を指定する操作に応じて、当該手法を画像処理サーバ1に送信し、超解像処理部112は、当該送信された手法によって動画の各フレームを超解像処理してもよい。
 また、上記実施形態では、超解像処理部112は、RGB成分とAlpha成分について超解像処理を行う例を説明したが、他の色空間を用いて超解像処理を行ってもよい。例えば、ピクセルの色をYUV(輝度信号のY成分、青色成分の差分信号のU成分、赤色成分の差分信号のV成分)に変換して超解像処理を行ってもよい。また、超解像処理部112は、YUVのうち、この人間の眼に敏感なY成分を分割画像において高解像度化し、U成分とV成分は、他の方法で拡大してもよい。
 また、超解像処理部112は、RGB成分及びAlpha成分の両方について並列処理を適用することもできる。また、超解像処理部112は、他の色空間として、例えば、XYX、Luv、Lab、CMY、CMYK、HSV、HLS、YUV、YCbCr、YPbPr等が適用される場合において、各種成分の全部または一部に並列処理を適用することもできる。また、超解像処理部112は、上記ステップS202において並列処理を行う場合、いずれの画像処理サーバが処理を実行すべきか、及び/または、いずれの処理モデルを適用するか、について決定する処理が含まれるようにしてもよい。
 なお、このユーザ端末2において各画像を比較可能に表示させるまでは、ユーザに無償で提供し、ユーザが特定の画像を選択した時点で有償で提供するか、または、超解像処理された動画または静止画をユーザ端末2に送信(ダウンロード)する時点で、ユーザに有償で提供することとしてもよい。
 また、超解像処理部112は、画像のノイズを学習して、分割画像においてノイズであると認識した部分を消去する処理を行ってもよい。ここで、ブロックノイズや、モスキートノイズなどの現実世界のノイズは、学習では認識が困難なため、画像処理サーバ1の管理者によって学習モデルを作成してもよい。
 ここで言う、現実世界のノイズとは、現実世界の真の状態に対して、その写像としての画像を、真の状態の画像と比較して何らかの変換を受けて、真の状態でなくなってしまう影響のことをノイズと呼んでいる。現実世界のノイズとしては、JPEG圧縮ノイズ、アンチエイリアスノイズ、ブラー、モーションブラー、減色ノイズ、縮小/拡大ノイズ(最近傍補完、Bilinear補完、Bicubic補完、Lanczos補完、Area補完)、歪みによる変換(Affine変換、Perspective変換)、量子化ノイズ、3Dレンダリング時のエッジのノイズ、3Dレンダリング時のレイトレーシングの手法選択によるノイズ、3Dレンダリング時のレイトレーシングのサンプル数不足によるノイズ、CMOSセンサーによるノイズ、印刷物をスキャン/撮影した際のノイズ、印刷物のハーフトーン、印刷のインクの滲み等のインクによるノイズ、撮影時のピントがあっていないことによるノイズ、ランダムノイズ、カーネルを使った、コンボリューション(ボックスフィルター/ガウシアンフィルタ/メディアンフィルタ/バイラテラルフィルタなど)等が挙げられるがこれに限られない。上記のノイズを、現実に即したノイズの発生の仕方をモデル化し、それぞれを1つの関数として処理し、任意の画像に対し、現実に即したノイズを加える。ここで、様々なソフトウェアによって、上記の実装方法が違い、同じ手法と呼ばれているものについても微妙な誤差が存在するため、その誤差も含むように、それぞれのノイズのかかり方を想定して、変換を行うこともできる。そして、上記のノイズを複数選択し、任意の順番で任意の回数の変換を加えられた画像が、現実世界をモデル化されたノイズを加えられた画像となる。また、それぞれのノイズのかかり方は、共起する可能性に応じて、同時にかかるかどうかなどを考慮して確率的に選択される。現実世界をモデル化されたノイズを加えられた画像と、変換を加えられる前の画像とのマッピングを学習することによって、現実世界に存在するノイズを前にしても、正確に高解像度化できる機械学習モデルを訓練させることができる。
 <変形例>
 なお、本発明は上記実施形態に限定されず、以下に記載する変形例により実現されてもよい。
 例えば、上記実施形態に係る超解像処理部112以外に、画像処理部は、分割画像に含まれるオブジェクトを認識して画像認識処理を行う機能を有してもよい。かかる画像処理部は、分割画像に含まれる一または複数のオブジェクトを認識する。オブジェクトの画像認識処理には、例えば公知の画像認識技術が用いられてもよい。
 上述した画像処理部は、さらに、分割画像に係る情報からオブジェクトに係る領域における画像情報を除去してもよい。これにより、分割画像からオブジェクトが取り除かれる。そして画像処理部は、オブジェクトに係る領域以外の領域の情報に基づいてオブジェクトに係る領域における画像情報を生成してもよい。例えば、入力画像が人物と背景を被写体に含む画像であり、人物がオブジェクトとして認識される場合、画像処理部は入力画像から人物を除去する。この場合、人物が写っていた領域から画像情報は削除されるので、画像処理部は、人物(の一部)が写っていた領域を、背景(すなわちオブジェクトに係る領域以外の領域)に係る画像情報に基づいて画像情報を生成し、該領域を補完する。
 また、画像処理部は、分割画像に係る情報からオブジェクトに係る領域以外の領域における画像情報を除去してもよい。例えば、入力画像が人物と背景を被写体に含む画像であり、人物がオブジェクトとして認識される場合、画像処理部は入力画像から背景を除去する。これにより、分割画像から人物(の一部)が写っていた画像だけを得ることができる。
 このように画像処理部は、認識対象であるオブジェクトに係る領域とそれ以外の領域とを認識する。その際、画像処理部は複数のオブジェクトをそれぞれ認識し、複数のオブジェクトに係る領域およびオブジェクトに係る領域以外の領域を判別すると、画像分割部111はそれぞれの領域に対応するレイヤー画像に分割して生成してもよい。
 さらに、画像処理部は、分割されたレイヤー画像についてそれぞれ並列処理により所定の画像処理を行ってもよい。画像処理の種類は特に限定されない。これにより、各レイヤー画像ごとに異なる処理を行うことが可能となる。
 これらの画像認識処理には、例えば、分割画像のうち対象のオブジェクト等を有する分割画像にのみ行えばよく、処理にかかる負荷を軽減することができる。
 また、画像処理部は、分割画像の輝度、彩度、コントラスト、色調、ホワイトバランスおよび明度の少なくともいずれか(以下、輝度等という)を補正する補正処理を行う機能を有しても良い。かかる補正処理は、例えば自動レベル補正といった技術や、Deep Learning等の機械学習を用いた手法により実現され得る。これにより、HDR(High Dynamic Range)のような画像を得ることができる。また、かかる処理によって、画像の白飛びや黒潰れを解消されることもある。
 かかる処理においては、例えば、並列処理される他の分割画像に含まれる情報が用いられてもよい。かかる他の分割画像とは、例えば静止画の場合は、入力画像を分割して得られる一の分割画像と同じ該入力画像から得られる、一の分割画像とは異なる分割画像を意味する。また、動画像の場合は、分割画像(分割フレーム群)以外のフレーム群、または該フレーム群に含まれる1以上のフレームを意味する。具体的には、他の分割画像の輝度等に係る情報を用いることで、処理対象の分割画像に適切な補正を行うことができる。用いる他の分割画像は一または複数のいずれでもよい。また、他の分割画像に含まれる情報は、該他の分割画像を縮小して得られる情報であったり、Deep Learning等の機械学習によって抽出される特徴に基づく情報であってもよい。また、かかる処理においては、分割前の入力画像に含まれる情報が用いられてもよい。
 なお、分割画像の輝度等を補正する補正処理においては、画像統合部113による統合後に、分割画像の間での輝度等の補正の程度が異なり、これらの調整が必要となる場合がある。この場合、画像統合部113は、統合後の画像の輝度等を調整してもよい。
 また、画像処理部は、HDR化処理による補正処理を行ってもよい。HDR化処理とは、単なる輝度等の調整とは異なり、分割画像のダイナミックレンジを拡張したHDR画像に補正する処理を意味する。かかるHDR化は、例えば機械学習等の手法により実現され得る。
 また、画像処理部は、分割画像に含まれるボケを補正する処理を行ってもよい。かかるボケを補正する処理の方法は、公知の方法が用いられ得る。
 また、画像処理部は、上記の補正処理以外の画像処理においても、他の分割画像および/または入力画像より得られる情報に基づいて該画像処理を行ってもよい。
 また、かかる処理においては、例えば、分割画像(他の分割画像を含む)や入力画像に含まれるメタデータが用いられてもよい。かかるメタデータとは、例えばカラースペースに関する情報を含む。このようなメタデータを輝度等に係る補正処理に用いることで、より適切なHDR画像を生成することが可能となる。
 また、画像処理部は、分割画像のうち入力画像の外縁部分より外側の領域(すなわち画像周辺領域)における画像情報を生成する画像周辺補完処理を行ってもよい。入力画像の外縁部分より外側の領域には画像に関する情報が含まれていない。画像処理部は、画像周辺補完処理により、例えば入力画像の外縁部分近傍の画像情報に基づいて、分割画像における上記領域の画像情報を生成する。具体的には、入力画像の外縁部分近傍が背景に係る画像情報を含む領域であれば、画像処理部は、上記領域の画像情報として、上記背景に関連する画像情報を生成する。これにより、画像処理部は、上記領域の画像補完を行うことができる。特に分割画像についてかかる画像補完処理を行うので、例えば周辺画像領域を有する分割画像に対してのみ行えばよく、処理にかかる負荷を軽減することができる。画像補完処理については、公知の手段を用いることができる。
 また、画像処理部は、前記分割画像を構成する色深度を変更し、分割画像の画素の各々の色彩情報を該色深度に応じて変化させる着彩処理を行っても良い。着彩処理とは、例えば、分割画像の画素ごとに割り当てられるデータ量を変更する処理である。具体的には、画像処理部は、モノクロ画像やグレースケール画像のような低い色深度の画像を、カラー画像のような高い色深度の画像に変更する処理を行う。これにより画像の着彩が実現される。着彩処理は、分割画像のうち一部(例えばオブジェクトとして認識された領域)のみに行われてもよい。また、着彩処理が必要な分割画像に対してのみに当該処理を行えばよく、処理にかかる負荷を軽減することができる。着彩処理については、公知の手段を用いることができる。
 なお、上述した画像処理部は、上述した処理のうち一つを単独で行うものであってもよいし、上述した処理のうちの複数の組み合わせの処理を行うものであってもよい。
 次に、画像分割部111に係る変形例について説明する。
 例えば、入力画像が動画像である場合、画像分割部111は、動画像の少なくとも一部を構成する複数のフレームを時系列で、および/または該複数のフレームにおいて対応する同一の画像領域ごとに分割して分割画像を生成してもよい。時系列での分割処理とは、複数のフレームを一つの入力画像の組として分割する処理を意味する。複数のフレームは、時系列的に連続的でも非連続的であってもよく、その組み合わせは特に制限されない。複数のフレームにおいて対応する画像領域ごとの分割処理とは、各フレームの分割領域を対応づけて分割することを意味する。例えば、フレームの大きさがm×nピクセルであり、3×2となるよう分割する場合、各フレームとも、m/3×n/2の大きさの画像に分割することを意味する。この時系列でのおよびフレーム内での分割は適宜組み合わされても良い。これにより、動画であっても分割による並列処理が可能となる。
 なお、入力画像が動画像である場合も、画像処理部は、上述した各種画像処理を動画像の各フレームの分割画像に対して行ってもよい。例えば、画像処理部は、複数のフレームに係る入力画像について、輝度等を調整する補正をしてもよい。さらに、画像処理部は、複数のフレームにまたがる動画像の動き(オプティカルフロー)等に係る情報に基づいて画像処理を行ってもよい。例えば、画像処理部は、複数のフレームにおいて動きが大きい領域に対応する分割画像に対して優先的に画像処理を行ってもよい。これにより、画像処理に係るリソースをより有効的に利用することができる。また、一の動画像を複数のフレームを時系列ごとに分割する場合、周辺領域として、分割フレーム群の前後のフレームを含めて分割画像としてもよい。例えば、5000フレームからなる動画像を5つの分割画像に分割する場合、周辺領域がない場合は、1~1000、1001~2000、2001~3000、3001~4000、4001~5000の1000フレーム毎に分割されるが、周辺領域を含む場合、画像分割部は、上記動画像を、1~1010、990~2010、1990~3010、2990~4010、3990~5000というように分割してもよい。この場合、画像統合部113によるパディング処理においては、各分割フレーム群の周辺領域が除かれ、端部領域(例えば、1000フレーム目と1001フレーム目、2000フレーム目と2001フレーム目)が接合され得る。
 また、画像分割部111は、入力画像または分割画像を圧縮する圧縮処理を行ってもよい。例えば、画像分割部111は入力画像を圧縮することで、入力画像に関する情報(すなわち画像全体に係る情報)を低い容量で保持することができる。このような圧縮された情報に基づいて画像処理部が分割画像に対して所定の画像処理を行ってもよい。これにより、画像全体の情報が分割画像に対する画像処理に反映されるので、画像処理の精度を向上させることができる。かかる圧縮処理については、公知の手段を用いることができる。
 また、画像分割部111は、入力画像に対する画像認識結果に基づいて分割領域を決定してもよい。例えば、予め入力画像に対して画像認識が行われ、その後の画像処理が重要な領域と非重要な領域に認識されたとする。このとき、画像分割部111は、かかる重要な領域と非重要な領域とに分かれるよう分割領域を決定し、各分割画像を生成する。その際、分割画像の各々は必ずしも上述した領域に一対一で対応しなくてもよく、画像分割部111は、重要な領域を多く占める分割画像と、非重要な領域を多く占める分割画像とに分割してもよい。画像認識結果に基づいて分割領域を決定することで、画像処理が重要となる分割画像に集中的に画像処理のリソースを割くことができ、並列処理の効率化につながる。さらに、画像処理部は、画像認識結果に基づいて得られる分割領域ごとの分割画像の属性に基づいて画像処理を行ってもよい。例えば、入力画像が写真とイラストからなるバナー広告である場合、上記の画像分割部111は、写真に対応する1以上の分割領域と、イラストに対応する1以上の分割領域を決定し、入力画像を分割する。このとき、各分割画像に、写真やイラスト等の属性が割り当てられる。そして、画像処理部は、分割画像の属性が写真の場合とイラストの場合で、例えば、リソースの割当量や画像処理のパラメータ等を変更して画像処理を行ってもよい。これにより、より効率的に並列処理を実行することができる。
 以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明の技術的範囲はかかる例に限定されない。本発明の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
  1   画像処理サーバ
  2   ユーザ端末
  3   通信ネットワーク
  10  制御部
  15  画像制御部
  16  画像用メモリ
  111 画像分割部
  112 超解像処理部
  113 画像統合部
  151 入力画像記憶部
  152 分割画像記憶部
  153 出力画像記憶部

Claims (29)

  1.  入力画像を分割する画像分割部と、
     前記分割された分割画像それぞれを並列処理により所定の画像処理を行う画像処理部と、
     前記所定の画像処理が行われた分割画像それぞれを統合して、1つの出力画像にする画像統合部と、
     を備え、
     前記画像分割部は、前記分割画像における周辺領域を含むように前記入力画像を分割し、
     前記画像処理部は、前記周辺領域を含んで前記分割画像に対して前記所定の画像処理を行い、
     前記画像統合部は、前記画像処理後の前記分割画像の前記周辺領域の画像を除去し、前記周辺領域の画像を除去した後の前記分割画像の端部領域を接合する、
     ことを特徴とする画像処理システム。
  2.  前記画像分割部は、前記画像処理部における並列処理それぞれの処理量が平滑化されるように、前記分割画像それぞれのサイズを動的に変化させる、
     ことを特徴とする請求項1に記載の画像処理システム。
  3.  前記並列処理における処理量の平滑化は、前記分割画像の各々が保有する少なくとも1種以上の情報量に応じて行われる、請求項2に記載の画像処理システム。
  4.  前記画像分割部は、前記画像処理部における処理負荷に応じて、並列処理を実行するリソースを動的に変化させる、
     ことを特徴とする請求項1~3のいずれか1項に記載の画像処理システム。
  5.  前記並列処理を実行するリソースは、一または複数の画像処理サーバであることを特徴とする請求項4に記載の画像処理システム。
  6.  前記入力画像は動画像を含み、
     前記画像分割部は、前記動画像の少なくとも一部を構成する複数のフレームを時系列で、および/または該複数のフレームにおいて対応する画像領域ごとに分割して分割画像を生成する、請求項1~5のいずれか1項に記載の画像処理システム。
  7.  前記周辺領域は、前記分割画像を構成する前記複数のフレームの前および/または後ろの少なくとも1以上のフレームを含む領域である、請求項6に記載の画像処理システム。
  8.  前記画像処理部は、前記複数のフレームの時系列における動画像の動きの大きさに基づいて、前記分割画像に対する画像処理を行う、請求項6または7に記載の画像処理システム。
  9.  前記画像分割部は、前記入力画像または分割した前記分割画像を圧縮する圧縮処理を行い、
     前記画像処理部は、前記圧縮処理より得られる情報に基づいて画像処理を行う、請求項1~8のいずれか1項に記載の画像処理システム。
  10.  前記画像分割部は、前記入力画像に対する画像認識結果に基づいて分割領域を決定する、請求項1~9のいずれか1項に記載の画像処理システム。
  11.  前記画像処理部は、前記画像認識結果に基づいて得られる前記分割領域ごとの分割画像の属性に基づいて画像処理を行う、請求項10に記載の画像処理システム。
  12.  前記画像処理部は、前記分割画像とは異なる他の分割画像および/または前記入力画像より得られる情報を用いて画像処理を行う、請求項1~11のいずれか1項に記載の画像処理システム。
  13.  前記画像処理部は、前記画像分割部により分割された前記分割画像を高解像度化する超解像処理部を含む、請求項1~12のいずれか1項に記載の画像処理システム。
  14.  前記超解像処理部は、前記分割画像それぞれのRGB成分に対して並列処理を行い、Alpha成分に対しては一括処理を行う、
     ことを特徴とする請求項13に記載の画像処理システム。
  15.  前記超解像処理部は、前記分割画像それぞれのRGB成分及びAlpha成分に対して並列処理を行うことを特徴とする請求項13または14に記載の画像処理システム。
  16.  前記超解像処理部は、前記分割画像のAlpha成分により構成されるグレースケール画像に対して超解像処理を行い、超解像処理後のグレースケール画像に基づいて前記分割画像のRGB成分に対する超解像処理を行うことを特徴とする請求項13~15のいずれか1項に記載の画像処理システム。
  17.  前記超解像処理部は、前記分割画像それぞれの色空間の成分の全部または一部に対して並列処理を行うことを特徴とする請求項13~16のいずれか1項に記載の画像処理システム。
  18.  前記所定の画像処理は、前記分割画像に含まれるオブジェクトを認識する画像認識処理を含む、請求項1~17のいずれか1項に記載の画像処理システム。
  19.  前記画像処理部は、前記分割画像に係る情報から、認識された前記オブジェクトに係る領域における画像情報を除去し、前記オブジェクトに係る領域以外の領域の情報に基づいて前記オブジェクトに係る領域における画像情報を生成する、請求項18に記載の画像処理システム。
  20.  前記画像処理部は、前記分割画像に係る情報から、前記オブジェクトに係る領域以外の領域における画像情報を除去する、請求項18または19に記載の画像処理システム。
  21. 前記画像分割部は、前記分割画像を前記オブジェクトに係る領域の各々に係るレイヤー画像にさらに分割する、請求項18~20のいずれか1項に記載の画像処理システム。
  22.  前記画像処理部は、前記レイヤー画像のそれぞれを並列処理により所定の画像処理を行う、請求項21に記載の画像処理システム。
  23.  前記所定の画像処理は、前記分割画像の輝度、彩度、コントラスト、色調、ホワイトバランスおよび明度の少なくともいずれかを補正する補正処理を含む、請求項1~22のいずれか1項に記載の画像処理システム。
  24.  前記補正処理は、前記入力画像および/または前記分割画像に含まれるメタデータに基づいて行われる、請求項23に記載の画像処理システム。
  25.  前記所定の画像処理は、前記分割画像に対するHDR化処理を含む、請求項1~24のいずれか1項に記載の画像処理システム。
  26.  前記所定の画像処理は、前記分割画像のうち前記入力画像の外縁部分より外側の領域における画像情報を生成する画像周辺補完処理を含む、請求項1~25のいずれか1項に記載の画像処理システム。
  27.  前記所定の画像処理は、前記分割画像を構成する色深度を変更し、前記分割画像の画素の各々の色彩情報を該色深度に応じて変化させる着彩処理を含む、請求項1~26のいずれか1項に記載の画像処理システム。
  28.  前記所定の画像処理は、前記分割画像に含まれるボケを補正する処理を含む、請求項1~27のいずれか1項に記載の画像処理システム。
  29.  コンピュータを、
     入力画像のサイズに応じて当該入力画像を分割する画像分割手段、
     前記分割された分割画像それぞれを並列処理により所定の画像処理を行う画像処理手段、
     前記所定の画像処理がされた分割画像それぞれを統合して、1つの出力画像にする画像統合手段、
     として機能させ、
     前記画像分割手段は、前記分割画像における周辺領域を含むように前記入力画像を分割し、
     前記画像処理手段は、前記周辺領域を含んで前記分割画像に対して前記所定の画像処理を行い、
     前記画像統合手段は、前記画像処理後の前記分割画像の前記周辺領域の画像を除去し、前記周辺領域の画像を除去した後の前記分割画像の端部領域を接合する、
     ことを特徴とするプログラム。
PCT/JP2020/005302 2019-02-13 2020-02-12 画像処理システム及びプログラム WO2020166596A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020572266A JPWO2020166596A1 (ja) 2019-02-13 2020-02-12 画像処理システム及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2019-023366 2019-02-13
JP2019023366 2019-02-13
JP2019-118397 2019-06-26
JP2019118397 2019-06-26

Publications (1)

Publication Number Publication Date
WO2020166596A1 true WO2020166596A1 (ja) 2020-08-20

Family

ID=72044901

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/005302 WO2020166596A1 (ja) 2019-02-13 2020-02-12 画像処理システム及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2020166596A1 (ja)
WO (1) WO2020166596A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117156064A (zh) * 2023-08-31 2023-12-01 江南大学 一种基于数字半调的图片生成方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157243A (ja) * 2001-09-05 2003-05-30 Mitsubishi Electric Corp 並列画像処理装置および並列画像処理方法
JP2007067499A (ja) * 2005-08-29 2007-03-15 Olympus Corp 画像処理装置
JP2009124547A (ja) * 2007-11-16 2009-06-04 Hitachi Ltd 画像処理装置および画像録画再生装置
JP2012043151A (ja) * 2010-08-18 2012-03-01 Canon Inc 画像処理装置及びその方法、プログラム、並びに撮像装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034737A (ja) * 1999-07-16 2001-02-09 Minolta Co Ltd 画像合成装置、画像合成処理方法および画像合成処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5546593B2 (ja) * 2011-09-02 2014-07-09 キヤノン株式会社 画像表示装置及びその制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157243A (ja) * 2001-09-05 2003-05-30 Mitsubishi Electric Corp 並列画像処理装置および並列画像処理方法
JP2007067499A (ja) * 2005-08-29 2007-03-15 Olympus Corp 画像処理装置
JP2009124547A (ja) * 2007-11-16 2009-06-04 Hitachi Ltd 画像処理装置および画像録画再生装置
JP2012043151A (ja) * 2010-08-18 2012-03-01 Canon Inc 画像処理装置及びその方法、プログラム、並びに撮像装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117156064A (zh) * 2023-08-31 2023-12-01 江南大学 一种基于数字半调的图片生成方法及系统

Also Published As

Publication number Publication date
JPWO2020166596A1 (ja) 2021-04-01

Similar Documents

Publication Publication Date Title
JP5032911B2 (ja) 画像処理装置及び画像処理方法
JP7175197B2 (ja) 画像処理方法および装置、記憶媒体、コンピュータ装置
JP5795548B2 (ja) 拡張rgb空間へのトーンマッピングを用いた高ダイナミックレンジ画像の処理方法
US20120050763A1 (en) Image processing apparatus and image processing method
KR102015926B1 (ko) 화상처리장치, 화상처리장치의 제어 방법 및 기억 매체
US20170289405A1 (en) Content aware improvement of captured document images
US9571697B2 (en) Image processing device setting sharpness adjustment degrees for object regions and performing unsharp masking process
US8971615B2 (en) Image type classifier for improved remote presentation session compression
JP4064979B2 (ja) カラー映像の彩度調節装置およびその方法
KR20200015095A (ko) 영상 처리 장치 및 그 동작방법
WO2020166596A1 (ja) 画像処理システム及びプログラム
JPH10208034A (ja) 画像処理装置および画像処理方法
JP5151708B2 (ja) 画像処理装置および画像処理プログラム
US9716810B2 (en) Image processing apparatus configured to perform smoothing based on analysis of PDL data, and storage medium storing program therefor
JP5125954B2 (ja) 写真画像処理方法、写真画像処理プログラム、及び写真画像処理装置
JP2009171158A (ja) モザイク画像生成装置、方法及びプログラム
US20190087679A1 (en) Image processing apparatus that identifies character pixel in target image using first and second candidate character pixels
JP2019145940A (ja) 画像処理装置、画像処理方法、およびプログラム
JP6736299B2 (ja) 印刷装置、印刷方法、および、プログラム
JP6486082B2 (ja) 画像処理装置及び画像処理方法、プログラム
JP4687667B2 (ja) 画像処理プログラムおよび画像処理装置
JP4708866B2 (ja) ルックアップテーブル作成装置および方法,ならびにルックアップテーブル作成プログラム
CN113689333A (zh) 一种图像增强的方法及装置
JP2010033527A (ja) 写真画像処理方法、写真画像処理プログラム、及び写真画像処理装置
KR20160069452A (ko) 영상 처리 장치, 영상 처리 방법, 및 프로그램

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: 20755051

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020572266

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: 20755051

Country of ref document: EP

Kind code of ref document: A1