Data compression system
The data compression system uses neural networks to identify objects of interest and automate compression settings, efficiently reducing video data volume by maintaining high quality for specified objects and lowering quality elsewhere, thus optimizing storage capacity and user efficiency.
Patent Information
- Application Number
- JP2024041259
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-15
- Publication Date
- 2025-09-29
AI Technical Summary
Existing technologies are inefficient in compressing video data stored in storage systems, requiring significant computational resources and user intervention for setting compression parameters.
A data compression system that utilizes neural networks to detect objects of interest and adjusts image quality accordingly, with a separate server-based compression/decompression service that automates compression settings and processing, allowing for efficient data reduction.
The system effectively reduces video data volume by maintaining high image quality for specified objects while lowering quality in other areas, optimizing storage capacity and minimizing user workload.
Smart Images

Figure 2025141364000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to data compression processing aimed at reducing the amount of moving image data. [Background technology]
[0002] As background technology for the present invention, Patent Document 1 discloses a technology in which, in a storage system having a storage device, memory, and a processor that controls data input / output to the storage device in order to optimize storage costs for data, the processor monitors the storage amount, which is at least one of the write amount (total amount of data accepted as a write target) and physical usage amount (total amount of data physically stored in the storage device), and the read amount (total amount of data read), and calculates a fee for the target period as a storage cost, which is the cost related to using the storage device, based on the storage amount and read amount for the target period in accordance with the monitoring results. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-155071 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the technology described in Patent Document 1 leaves room for improvement in terms of efficiently compressing video data stored in a storage system.
[0005] The present invention has been made in view of the above-mentioned problems, and has as its object to provide a data compression system that can efficiently compress video data stored in a storage system. [Means for solving the problem]
[0006] A data compression system according to the present invention has a storage system that stores video data and metadata assigned to the video data, and a video data compression system that communicates with the storage system via a network, and further comprises an interface for registering settings related to the compression process, and a compression function unit included in the video data compression system that compresses and decompresses the video data, wherein the settings related to the compression process include compression settings that include a designated object, which is information indicating an imaging area that is arbitrarily designated in the video data, and a metadata association setting that links the compression setting to the metadata, and the compression function unit has a first function of acquiring video data in the storage system as video data to be compressed, and a second function of acquiring metadata assigned to the video data to be compressed and acquiring compression settings linked to the metadata in accordance with the metadata association setting, and the compression function unit compresses the video data to be compressed acquired based on the first function in accordance with the compression settings acquired based on the second function, to create compressed video data.
[0007] Other problems and solutions disclosed in the present application will be made clear in the detailed description and drawings. [Effects of the Invention]
[0008] According to the present invention, it is possible to provide a data compression system that can efficiently compress video data stored in a storage system. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a diagram illustrating the overall configuration of a data compression system according to a first embodiment. [Figure 2] 1 is a schematic diagram of a compression / decompression system according to a first embodiment. [Figure 3] FIG. 1 is a schematic diagram of a compressor according to a first embodiment. [Figure 4] 1 illustrates compression setting association management information according to the first embodiment. [Figure 5] 1 illustrates automatic compression condition management information according to the first embodiment. [Figure 6] 10 is a flowchart of initial setting 1: compression setting input according to the first embodiment. [Figure 7] 10 is a flowchart of initial setting 2: automatic compression condition setting input according to the first embodiment. [Figure 8] 10 is a flow chart showing a data storage flow of a user according to the first embodiment. [Figure 9] 10 is a flowchart of a compression target moving image data search process according to the first embodiment. [Figure 10] 1 is a flow chart showing a compression process flow according to the first embodiment; DETAILED DESCRIPTION OF THE INVENTION
[0010] In order to reduce the amount of data for moving and still images, it is effective to detect the object of the user's interest using a neural network or the like, maintain the image quality of only that object, and reduce the image quality of areas other than that object, thereby reducing the amount of data.
[0011] In these techniques, the user needs to specify an object of interest contained in the video or image to be compressed and compress it. Hereinafter, in this embodiment, the setting of various conditions related to compression, including the specification of an object of interest for compression, will be referred to as "compression setting."
[0012] Furthermore, compression using neural networks, etc., requires a large amount of calculation processing, consumes a large amount of main memory, and uses specialized hardware such as GPUs as processing resources, so it is desirable to process it on a server separate from existing servers and storage. For this reason, a configuration that provides a "compression / decompression service" that makes compression or decompression processing available as a service is useful.
[0013] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the accompanying drawings. However, the present invention is not limited to the following embodiments, examples, and modifications.
[0014] Additionally, the term "compression" in this specification refers to a lossy compression process, which reduces the amount of data by changing the image quality (i.e., by reducing the image quality to the extent desired by the user).
[0015] Furthermore, the term "service" in this specification refers to a service in an on-premise or cloud environment, which exposes the API (Application Programming Interface) of the software used in the service to the outside world, receives requests from the outside world through the API, and returns responses. This service may be configured by operating a serverless system in a public cloud, or by operating a group of processes that are processed on a server in an on-premise environment.
[0016] Furthermore, the term "moving image" in this specification may refer to not only moving images but also moving images including still images and the like. [Example]
[0017] <Overall Configuration of Data Compression System According to First Embodiment> 1 is a diagram illustrating the overall configuration of a data compression system according to Example 1. The data compression system includes a video camera 100, a user server 101, a compression / decompression system 121, and a user storage 131.
[0018] The user server 101, compression / decompression system 121, and user storage 131 may be physical servers and physical storages operating in an on-premise environment, or may be instances (virtual servers and virtual storages) on a public cloud system.
[0019] The data compression system in Figure 1 is a system constructed by a video camera 100, a user server 101 that aggregates data obtained from the video camera 100, a user storage 131 that stores video data, a compression / decompression system 121 that obtains the video data stored in the user storage 131, compresses it, and transfers the compressed data to the user storage 131, and a network 110 that connects these subsystems and devices so that they can communicate with each other.
[0020] The user server 101 is a server that uses a volume provided by the user storage 131 as a storage area. In this embodiment, the user server 101 is a general server having a CPU, DRAM, and network interface, and performs multiple settings for data compression on the compression / decompression system 121 via the network 110. In addition, the user server 101 stores video data held in the user server 101 in the user storage 131.
[0021] Video camera 100 is a device that shoots moving images. Depending on the installation mode, the moving images shot by video camera 100 are stored in user server 101, and then stored in user storage 131 by user server 101. Also, unlike the previous mode, the moving images shot by video camera 100 may be stored in user storage 131 directly via network 110 without going through user server 101.
[0022] The network 110 is a network capable of communicating various types of data, and may be the global Internet or a closed network within a public cloud. Furthermore, it is not limited to IP communication, and may be a network that connects the user server 101 and the compression / decompression system 121 using a standard such as PCI-Express.
[0023] The compression / decompression system 121 is a system to which this embodiment is applied. The compression / decompression system 121 performs various compression and decompression processes based on automatic compression condition settings set by the user server 101. This automatic compression condition setting will be described later with reference to FIG. 7. The compression / decompression system 121 also has an internal processor such as a CPU or GPU for processing a neural network, or hardware dedicated to neural network processing, and performs video compression processing using these resources. Details of the compression / decompression system 121 will be described later with reference to FIG. 2. The compression / decompression system 121 may provide both a compression system and a decompression system, or may provide only a compression system.
[0024] The user storage 131 is a storage used by a user to store video data, and is intended as an object storage. Note that the present invention is not limited to this example, and the user storage 131 may be a file storage or the like. The user storage 131 is capable of assigning multiple tags, which are metadata, to each piece of video data it stores. Note that the tag in this embodiment may be the metadata itself. In this embodiment, an automatic tagging function (the "automatic tagging system" described later) is configured to automatically tag video data with the IP address of the user server 101 or video camera 100 that is the transfer source when the data is stored in the user storage 131.
[0025] For example, when video data is transferred directly from video camera 100 monitoring a road to user storage 131, user storage 131 assigns a tag (such as information such as "road monitoring") to the video data stored in user storage 131 based on the IP address of video camera 100 monitoring the road, indicating that the video data is a video monitoring a road. The tag may be a character string related to the purpose of the video (e.g., "video for maintenance purposes") or a character string related to the location where video camera 100 is installed (e.g., "video of platform XX at XX station").
[0026] Although this embodiment describes an example in which tags are automatically assigned based on the IP address of the transfer source device, the present invention is not limited to this example. For example, ID information such as the serial number of the transfer source device (video camera 100) and GPS information may be acquired as log information simultaneously with the video data and then stored in user storage 131. Tags may be automatically assigned by analyzing the log information. Furthermore, if the MAC address of the transfer source device (video camera 100) or a character string of a name arbitrarily set by the user for managing the transfer source device is included in the file name of the video or the path of the directory in which the video is stored, tags may be assigned based on the file name or path. Furthermore, time information stored in the storage may be used to assign tags such as "video filmed in winter" or "video filmed at night." Any method may be used as long as the user can automatically assign tags when storing video data in user storage 131.
[0027] <Compression / Decompression System 121 According to First Embodiment> 2 is a diagram illustrating a compression / decompression system 121 according to the first embodiment. The compression / decompression system 121 in this embodiment includes a compression setting interface 201, an automatic compression condition setting interface 202, a storage periodic monitoring system 203, a compression processing system 204, a database system 205, and a storage system 206. Note that any of the systems may be realized by a user arbitrarily combining and operating resources provided as services by third parties.
[0028] The compression setting interface 201 is used by the user server 101 via the network 110, and is an interface through which the user inputs compression settings, which are various settings for the compression processing of moving images.
[0029] The compression setting interface 201 is provided to the user as a Web GUI (Graphical User Interface) accessible from a Web browser (for example, Google Chrome (registered trademark) or the like), or as an API (for example, Post Request) via an http request.
[0030] The provision of the compression setting interface 201 is not limited to the above-mentioned provision form, and any provision form may be used as long as the user can specify multiple setting items used in the compression process, such as the ``object of interest,'' compression algorithm, image quality difference between high-image-quality areas and low-image-quality areas, frame rate of the compressed video data, and resolution of the compressed video data.
[0031] The compression settings include multiple setting items used in the compression process, such as the "object of interest," the compression algorithm, the image quality difference between high-image-quality areas and low-image-quality areas, the frame rate of the compressed video data, and the resolution of the compressed video data.
[0032] An "Object of Interest" refers to an object that is to be maintained at high image quality among various objects captured in a video, and is set by user specification or input. The video compressor 211 maintains high image quality only for the object designated as the "Object of Interest" among various objects captured in the video, and reduces the amount of data by lowering the image quality of areas in the video other than the designated object. For example, if a "car" is designated as the "Object of Interest," the data volume is reduced by maintaining high image quality only for the area in which the car is captured, and lowering the image quality of areas in the video other than the "Object of Interest," i.e., areas such as buildings and roads where no car is captured. Note that the "car" can be designated as the "Object of Interest" by, for example, dragging the area corresponding to the "Object of Interest" on an arbitrary still image or video, or by inputting a character string designating the "Object of Interest," such as "car" or "automobile." In this embodiment, examples of methods for specifying an "object of interest" are described, such as a method in which the user drags and specifies the object using a string of characters, but the present invention is not limited to these examples; any method for specifying a target object in an object detection function using deep learning technology is acceptable.
[0033] In addition, instead of setting the object of interest described above, the compression setting may include designation of an area or object for which image quality is to be reduced. That is, the object of interest may be understood as an area in a moving image that is designated by the user as an area for which image quality control is to be specified, and may also be called a designated object.
[0034] The compression settings set in the compression setting interface 201 are stored in the storage system 206 as compression setting data 231. The compression setting data 231 may be stored in the database system 205, and may be any data that can hold various compression settings for a desired period of time.
[0035] In addition to the above-described function for setting an object of interest, the compression setting interface 201 also provides a function for managing the stored compression setting data 231 in association with tags assigned to video data managed by the user storage 131. Tags associated with each compression setting can be arbitrarily specified. More specifically, the compression setting interface 201 provides the user with a function for associating a desired tag with the compression setting data 231 after storing the compression setting data 231 in the storage system 206. Information relating to the association between the compression setting data 231 and the tag is defined as a storage path, which is information indicating the storage location of the compression setting data 231 associated with each tag, and is stored in the database system 205 as compression setting association management information 222. The compression setting association management information 222 may be stored in the storage system 206. Two or more tags may be associated with one compression setting.
[0036] The automatic compression condition setting interface 202 is used by the user server 101 via the network 110, and is an interface that allows the user to set conditions for automatic compression. The compression / decompression system 121 of this embodiment is characterized by having a function that not only receives a compression request from the user to compress each piece of video data individually and performs compression processing, but also automatically compresses all video data that meets the conditions specified by the user for a large amount of video data stored in the user storage 131.
[0037] The automatic compression conditions specified in the automatic compression condition setting interface 202 are stored in the database system 205 as automatic compression condition management information 221. Details of the automatic compression condition management information 221 will be described later. The automatic compression condition management information 221 may also be stored in the storage system 206.
[0038] The storage periodic monitoring system 203 is a system or a process within a server that searches for the presence or absence of video data to be compressed (hereinafter referred to as "video data to be compressed") based on the automatic compression condition management information 221 stored in the database system 205 within the compression / decompression system 121.
[0039] The storage periodic monitoring system 203 is a system or a process within a server that is started periodically, and acquires the automatic compression condition management information 221, for example, every minute, and identifies the area to be monitored in the user storage 131 based on the value of the "input data location 501" in the automatic compression condition management information 221. It then determines whether all video data within the monitored area satisfies the automatic compression conditions specified by the user. For videos that satisfy the conditions as determined by this determination, it issues a compression request to the compression processing system 204, which will be described later. Details of this "input data location 501" will be described later with reference to FIG. 5.
[0040] The storage regular monitoring system 203 may acquire the automatic compression conditions at any time interval, instead of acquiring the automatic compression condition management information 221 every minute.
[0041] The compression processing system 204 is a system or a process within a server that analyzes a compression request made to the compression processing system 204 and compresses video data based on the request.
[0042] The compression processing system 204 performs compression processing using an internal moving image compressor 211 .
[0043] The video compressor 211 maintains high image quality only for the object designated by the user as an "Object of Interest" among various objects captured in the video, and reduces the amount of data by lowering the image quality of areas in the video other than the object. Note that if an area whose image quality is to be lowered is included in the compression settings as a designated object instead of the object of interest, the image quality of the designated object may be lowered relative to the other areas to reduce the amount of data.
[0044] When performing compression processing, the compression processing system 204 acquires video data and a Tag from the video data to be compressed described in the compression request. Then, based on the acquired Tag, it references compression setting association management information 222 in the database and acquires the storage location in the storage system 206 of compression setting data 231. Then, it acquires the corresponding compression setting data 231 from the storage system 206 and provides the video data and compression setting data 231 to the video compressor 211 to perform appropriate compression processing. Then, it stores the compressed video data after compression processing in the storage location in the user storage 131 described in the compression request.
[0045] The database system 205 is a database system or a process within a server that stores automatic compression condition management information 221 and compression setting association management information 222 used by the compression / decompression system 121 .
[0046] The storage system 206 is a storage system or a process within a server that stores compression setting data 231 for performing compression processing with compression settings designated by the user when the compression processing system 204 compresses video data.
[0047] <Video Compressor 211 According to First Embodiment> 3 is a diagram illustrating an overview of a video compressor 211 according to the first embodiment. The video compressor 211 is under the control of a compression processing system 204, and operates when video data and compression setting data 231 are input from the compression processing system 204. The video compressor 211 includes a video encoder 301 and a compression parameter generator 302.
[0048] The video encoder 301 encodes input video data using specified compression parameters to reduce the amount of data. The video encoder 301 includes a function for decoding video data in a format that cannot be encoded and converting it into an encodable format. The video encoder 301 receives as input video data and compression parameters from the compression parameter generator 302.
[0049] The compression parameter generator 302 is a process that generates parameters used by the video encoder 301 when compressing video, based on the compression setting data 231 and video data. The compression parameter generator 302 performs neural network processing and uses information for detecting "objects of interest" included in the compression setting data 231 to detect "objects of interest" for each scene of the input video data, and generates annotation data that is information indicating areas to be kept in high image quality and areas to be reduced in image quality. Note that the generation of annotation data can also be performed using a neural network or other machine learning model even when areas to be reduced in image quality are designated as designated objects instead of objects of interest.
[0050] Then, the compression parameters obtained by combining the generated annotation data with other compression settings (frame rate of compressed video data, resolution of compressed video data, etc.) included in the compression setting data 231 are input to the video encoder 301.
[0051] For example, when compressing video data consisting of multiple pictures per second, the video data is divided and multiple still image data created are input to compression parameter generator 302. Compression parameter generator 302 then detects an "object of interest" for each of the multiple still image data and creates multiple pieces of annotation data. The multiple still image data, multiple pieces of annotation data, and other compression settings included in compression setting data 231 (frame rate of compressed video data, resolution of compressed video data, etc.) are then input to video encoder 301. Video encoder 301 then compresses each still image data and annotation data according to the other compression settings, thereby creating one second of compressed video data.
[0052] Also, while an example of generating compression parameters using a neural network is described here, the present invention is not limited to this example, and compression parameters may be generated by any method from video data and auxiliary information, namely, compression setting data 231. For example, compression may be performed by incorporating conditions, such as always leaving the upper half of the video data at high image quality and lowering the compression rate so as to reduce the image quality of the lower half, as parameters. Also, the compression setting data 231 may be input directly to the video encoder 301 without using the compression parameter generator 302.
[0053] <Compression setting association management information 222 according to the first embodiment> 4 is a diagram illustrating the compression setting association management information 222 according to the embodiment 1. The compression setting association management information 222 is made up of a Tag 401 and a compression setting data path 402.
[0054] Tag 401 is key information for referencing compression setting association management information 222, and is a field that stores a tag (a character string in this embodiment) that is assigned to video data managed by user storage 131. For example, when using a tag such as "vehicle camera," the tag "vehicle camera" is stored in this field.
[0055] The compression setting data path 402 is a field in which a path indicating the storage location in the storage system 206 of the compression setting data 231 is stored.
[0056] For example, when a user specifies a compression setting that preserves a car in high image quality as the compression setting for a video shot with an on-board camera, the Tag 401 and the compression setting data path 402 in the compression setting association management information 222 are associated and stored as "on-board camera" in the Tag 401 and the storage location of the compression setting data 231 in which the compression setting that preserves the car in high image quality is recorded in the compression setting data path 402. This allows the compression processing system 204, described below, to acquire the storage location of the compression setting data 231 for the compression setting that preserves the car in high image quality when it references the compression setting association management information 222 using the Tag "on-board camera" as a key.
[0057] <Automatic compression condition management information 221 according to the first embodiment> 5 is a diagram illustrating the automatic compression condition management information 221 according to the embodiment 1. The automatic compression condition management information 221 is configured with an input data location 501, an output data location 502, an access key 503, a time elapsed since storage 504, a target tag list 505, and a read frequency 506.
[0058] The automatic compression condition management information 221 is referenced by the storage periodic monitoring system 203 and is used when searching for video data that meets the automatic compression conditions among a plurality of video data in the user storage 131 .
[0059] Each item in the automatic compression condition management information 221 is set for each row as a user's project. A project may be, for example, an ID assigned to each license registered by the user, or may be set for each user's folder. A user may have one or more projects, IDs, and folders.
[0060] The input data location 501 is a field that stores conditions related to the range within which the storage periodic monitoring system 203 searches for video data that meets the automatic compression conditions. A value indicating a specific directory in the user storage 131 is stored in the input data location 501. The storage periodic monitoring system 203 searches all video data under that directory to see if it meets the automatic compression conditions.
[0061] The output data location 502 is a field that stores conditions related to the storage location of compressed video data that has been compressed to reduce the data volume for video data that meets the automatic compression conditions. A value indicating a specific directory in the user storage 131 is stored in the output data location 502. The storage periodic monitoring system 203 notifies the compression processing system 204 of a compression request that includes the path in the user storage 131 where the compressed video data is to be stored, so that the compressed video data is stored in that directory.
[0062] Note that the output data location 502 is not essential. For example, if there is no column for the output data location 502 or if no value is stored in the output data location 502, the video data to be compressed may be replaced and overwritten with the compressed video data.
[0063] The access key 503 is a field for storing authentication information required to access the user storage 131. The access key 503 is used for authentication when the storage periodic monitoring system 203 or the compression processing system 204 accesses the user storage 131.
[0064] The access key 503 is not essential. For example, if the user storage 131 does not impose any access restrictions and various systems constituting the compression / decompression system 121 can access the user storage 131, the column of the access key 503 may not be present, and no value may be stored in the access key 503.
[0065] Time elapsed since storage 504 is a field for storing conditions related to the time elapsed since the video data to be subjected to automatic compression was stored in user storage 131. For example, if the value "one week" is stored in time elapsed since storage 504, the video data will not be subjected to automatic compression for one week after it is stored in user storage 131, but will become subject to automatic compression after one week has passed, thereby satisfying the automatic compression conditions. By using time elapsed since storage 504 as one of the automatic compression conditions, the compression technique of the present invention is not applied to video data that has been stored for a short time and is usable for various purposes (potentially as a subject of analysis by various analysis software), and it is possible to automatically apply the compression technique of the present invention only to video data that has been stored for a long time and is now used only for limited purposes.
[0066] It should be noted that the time elapsed since storage 504 is not essential. For example, if there is no column for the time elapsed since storage 504, or if no value is stored for the time elapsed since storage 504, the automatic compression conditions will be met as soon as the storage periodic monitoring system 203 finds the video data.
[0067] Tag list 505 is a field for storing conditions related to tags (multiple types) of video data to be subject to automatic compression. If no value is stored in tag list 505, video data will not be subject to automatic compression even if it satisfies one of the automatic compression conditions, elapsed time since storage 504 (condition related to the time elapsed since storage in user storage 131).
[0068] Note that the column of Tag list 505 is not essential. For example, if there is no column of Tag list 505, video data that satisfies other automatic compression conditions will be subject to automatic compression regardless of the tag assigned to that video data, and will meet the automatic compression conditions.
[0069] Read frequency 506 is a field that stores the read frequency conditions for video data that is subject to automatic compression. If a value is stored in read frequency 506 (hereinafter referred to as the "set value"), video data with a read frequency equal to or greater than the set value is subject to automatic compression and satisfies the automatic compression conditions.
[0070] By making read frequency 506 one of the automatic compression conditions, in a system where charges are made based on the amount of read data, only video data that is frequently called is compressed preferentially, thereby reducing charges for the amount of read data, and compressing video data that is read frequently can improve storage performance.
[0071] In this embodiment, the automatic compression conditions are three items: time elapsed since storage 504, tag list 505, and read frequency 506, but the present invention is not limited to this example. For example, there may be other conditions such as data volume, and it may be possible to set video data with a small data volume so that it is not subject to automatic compression.
[0072] <Initial Setting 1: Compression Setting Input Flow According to First Embodiment> 6 is a flowchart of a compression setting input according to the first embodiment. The compression setting input flow is one of the initial settings performed by a user. The compression setting input flow is a flow in which a user associates a compression setting with a specific Tag, and can be performed at any timing by using the compression setting interface 201 via the network 110.
[0073] In step S601, the user inputs compression settings via the compression setting interface 201. That is, the user inputs multiple setting items used in the compression process, such as the designation of an "object of interest," a compression algorithm, the difference in image quality between high-image-quality regions and low-image-quality regions, the frame rate of the compressed video data, and the resolution of the compressed video data, as compression settings. The compression setting interface 201 then generates compression setting data 231 including information for detecting the "object of interest" and the multiple setting items. The compression setting interface 201 then stores the generated compression setting data 231 in the storage system 206. Note that the information for detecting the "object of interest" includes, for example, feature quantities representing the object, which are used by the compression parameter generator 302 to generate an area in which the object is photographed.
[0074] In step S602, the user inputs a tag to be associated with the compression setting data 231 stored in the storage system 206 in step S601. That is, the user inputs, as a tag association setting, a tag to be associated with each of the compression setting data 231 from among the tags assigned to the video data managed by the user storage 131. Then, the compression setting interface 201 associates the storage path of the compression setting data 231 stored in the storage system 206 in step S601 with the input tag, and stores the association as compression setting association management information 222 in the database system 205. The compression setting input flow only needs to be performed at least once for each different tag, even when there is a large amount of video data and a wide variety of video data. That is, appropriate compression settings can be applied to a large amount of video data and a wide variety of video data with just initial settings, thereby reducing the user's workload.
[0075] <Initial setting 2 according to the first embodiment: automatic compression condition setting input flow> 7 is a flowchart of automatic compression condition setting input according to Example 1. The automatic compression condition setting input flow can be implemented by the user using the automatic compression condition setting interface 202 via the network 110 at any timing when the user sets automatic compression.
[0076] In step S701, the user inputs automatic compression condition settings via the automatic compression condition setting interface 202. That is, the user sets a directory in user storage 131 where video data is stored, and inputs authentication information for accessing that directory. The user also specifies a destination directory for recording the compressed data. The user also inputs conditions for the video to be automatically compressed (conditions related to elapsed time since storage 504, tag list 505, read frequency 506, etc.). After accepting the input of automatic compression condition settings from the user, the automatic compression condition setting interface 202 records and updates the input information in automatic compression condition management information 221 stored in a database in the compression / decompression system 121.
[0077] In step S702, the user enables the automatic compression settings made in step S701. That is, the user inputs an input to enable the automatic compression condition settings. Then, upon receiving the input, the automatic compression condition setting interface 202 instructs the storage periodic monitoring system 203 to search for video data to be compressed using the input automatic compression conditions.
[0078] The automatic compression condition setting input flow only needs to be performed once for each different condition, even when there is a large amount of video data and a wide variety of types. In other words, compression requests can be sent automatically at the appropriate time for large amounts of video data and a wide variety of types with just the initial settings, reducing the user's workload.
[0079] <Video Data Storage Flow According to the First Embodiment> FIG. 8 is a flowchart of storing video data according to the first embodiment.
[0080] In step S801, the user server 101 or the video camera 100 transfers the recorded video data to the user storage 131 and stores it there.
[0081] In step S802, the user storage 131 issues an event to the automatic tagging system, and automatically assigns tags or metadata to the video data stored in the user storage 131.
[0082] The automatic tagging system is a process of a serverless system of a public cloud or a process of a server that is started when video data is stored in the user storage 131. The automatic tagging system is provided with a tag to be assigned to each IP address of the user server 101 or video camera 100 that is the transfer source. In other words, the automatic tagging system analyzes the storage log generated by the user server 101 or video camera 100, identifies the IP address of the transfer source of the video data stored in the user storage 131, and determines the tag to be assigned.
[0083] Although the example described here is one in which the tag to be assigned is determined based on the IP address of the video data transfer source, the present invention is not limited to this example and the ID of the camera device of the transfer source may also be used. Also, the user may manually determine the tag to be assigned to the video data.
[0084] In step S803, the tag identified in step S802 is assigned to the video data.
[0085] <Flow of compression target video data search process according to the first embodiment> 9 is a flowchart of a compression target video data search process according to the first embodiment. The compression target video data search process flow is a flow performed by the storage periodic monitoring system 203 in the compression / decompression system 121, and is periodically and repeatedly performed. For example, it is repeatedly executed at predetermined time intervals (once per minute, once per second, etc.) in the compression / decompression system 121. The compression / decompression system 121 that executes this flow may perform one search process per project using a single processor, or may perform multiple search processes in parallel using multiple processors.
[0086] In step S 901 , the storage regular monitoring system 203 accesses the database system 205 and acquires the automatic compression condition management information 221 .
[0087] In step S902, the storage regular monitoring system 203 searches for video data to be compressed. That is, the storage regular monitoring system 203 checks the value of the input data location 501 included in the automatic compression condition management information 221 acquired in step S901. Then, the storage regular monitoring system 203 acquires a list of all video data under the directory of the user storage 131 specified by the value of the input data location 501.
[0088] If authentication of the user storage 131 is required to acquire video data, the storage regular monitoring system 203 checks the value of the access key 503 included in the automatic compression condition management information 221 acquired in step S901. Then, the storage regular monitoring system 203 performs authentication using the value of the access key 503 and acquires a video data list.
[0089] The storage regular monitoring system 203 then acquires the time at which each piece of video data listed in the video data list was stored in the user storage 131. The storage regular monitoring system 203 then calculates the difference between the current time and the storage time, and calculates the elapsed time since the video data was stored in the storage regular monitoring system 203. If the elapsed time is greater than the value of "time elapsed since storage 504" included in the automatic compression condition management information 221, the storage regular monitoring system 203 designates the video data as a candidate for video data to be compressed that satisfies condition 1.
[0090] The storage periodic monitoring system 203 also checks whether there is video data for each video data listed in the video data list that has been assigned a tag with a value listed in the tag list 505 included in the automatic compression condition management information 221. The storage periodic monitoring system 203 then determines that the video data that has been assigned a tag with a value listed in the tag list 505 is a candidate for video data to be compressed that satisfies condition 2.
[0091] The storage periodic monitoring system 203 also calculates the read frequency for each piece of video data listed in the video data list. If the read frequency is greater than the value of "read frequency 506" included in the automatic compression condition management information 221, the storage periodic monitoring system 203 designates the video data as a candidate for video data to be compressed that satisfies condition 3.
[0092] The storage periodic monitoring system 203 then determines, as the video data to be compressed, candidates for video data to be compressed that satisfy all of conditions 1, 2, and 3. Note that the storage periodic monitoring system 203 may also determine, as the video data to be compressed, candidates for video data to be compressed that satisfy at least one of conditions 1, 2, and 3. Furthermore, although three conditions are described as the conditions for automatic compression in this embodiment, the present invention is not limited to this example, and there may be two or fewer conditions, or four or more conditions.
[0093] Step S903 is a step where the process branches depending on whether or not there is video data to be compressed found in step S902. If there is no video data to be compressed in step S902 (step S902: No), the process flow for searching video data to be compressed ends. On the other hand, if there is video data to be compressed in step S902 (step S902: Yes), the process proceeds to step S904.
[0094] In step S904, the storage periodic monitoring system 203 issues a compression request to the compression processing system 204. The issued compression request is then accumulated in a queue management system within the compression processing system 204. Note that there may be multiple queue management systems. The compression request includes a path in the user storage 131 of the video data to be compressed (a path based on the value of the input data location 501) and a path in the user storage 131 where the compressed video data is stored (a path based on the value of the output data location 502). The compression request may also include authentication information (information based on the access key 503) required to access the user storage 131.
[0095] <Compression processing flow according to the first embodiment> 10 is a flowchart of the compression process according to the first embodiment. The compression process flow is a flow performed by the compression processing system 204, and is periodically and repeatedly performed. For example, the compression / decompression system 121 repeatedly executes the compression process at predetermined time intervals.
[0096] In step S1001, the compression processing system 204 acquires a compression request. That is, the compression processing system 204 includes an internal queue management system, and acquires a compression request from the queue management system.
[0097] Step S1002 is a step where the process branches depending on whether or not a compression request has been acquired from the queue management system in step S1001. If no compression requests have been accumulated in the queue management system in step S1001 and no compression requests have been acquired (step S1002: No), the compression processing flow ends. On the other hand, if a compression request has been acquired in step S1001 (step S1002: Yes), the process proceeds to step S1003.
[0098] In step S1003, the compression processing system 204 acquires the video data to be compressed and the tag assigned to the video data to be compressed from the user storage 131 based on the information of the compression request. If authentication is required for access to the user storage 131, the compression processing system 204 performs authentication using authentication information (information based on the access key 503) included in the compression request.
[0099] In step S1004, the compression processing system 204 acquires the compression setting using the Tag acquired in step S1003. That is, the compression processing system 204 refers to the compression setting association management information 222, and acquires the path of the compression setting data 231 associated with the Tag acquired in step S1003 as a key.
[0100] In step S1005, the compression processing system 204 acquires the compression setting data 231 from the storage system 206 using the path of the compression setting data 231 acquired in step S1004.
[0101] In step S1006, the video compressor 211 performs compression processing using the video data to be compressed acquired in step S1003 and the compression setting data 231 acquired in step S1005. That is, the compression parameter generator 302 of the video compressor 211 uses the video data to be compressed and the compression setting data 231 to generate parameters so as to leave the "object of interest" region of the video data to be compressed at high image quality and to reduce the image quality of other regions, and inputs these parameters to the video encoder 301. The video encoder 301 then compresses the video data to be compressed using the video data to be compressed and the compression parameters to create compressed video data with a reduced data volume.
[0102] In step S1007, the compression processing system 204 stores the compressed video data created in step S1006 in the user storage 131. That is, the compression processing system 204 stores the compressed video data created in step S1006 in the user storage 131 based on the path in the user storage 131 where the compressed video data described in the compression request is stored (the path based on the value of the output data location 502).
[0103] <Effects of Example 1> Users use devices capable of storing huge amounts of data, such as storage, to manage large volumes of diverse video data and compress it to reduce storage costs and capacity. However, specifying compression settings for large volumes of diverse video data and requesting compression from a compression system has been a challenge for users, as it requires a lot of work.
[0104] Therefore, as described above, in this embodiment, if a user performs two initial settings, namely, a compression setting input flow and an automatic compression condition setting input flow, for large amounts of diverse video data via an interface provided by the compression / decompression system 121, then the user can simply upload the large amounts of diverse video data from the user server 101 or video camera 100 to the user storage 131, and the appropriate compression settings will be applied and the data will be automatically compressed, eliminating the need for the user to issue a request to the compression / decompression system 121 for each large amount of diverse video data, thereby reducing the user's workload. Furthermore, by reducing the amount of data, the storage capacity used can be reduced, and the number of storage drives can be reduced, contributing to resource conservation and further reducing the power consumption of the storage drives.
[0105] <Modification 1 of Example 1> For example, the compression processing flow described with reference to FIG. 10 has been described as being performed by the compression / decompression system 121 on a single server.
[0106] However, the present invention is not limited to this. For example, if the number of compression requests obtained from the queue management system in step S1001 exceeds a given value, the number of servers performing the compression process may be increased and the compression process flow may be performed on multiple servers. In other words, the compression / decompression system 121 may vary the number of servers performing the compression process depending on the number of compression requests. This method has the advantage of making it possible to distribute the load related to the calculation processing of the compression process across multiple servers, thereby making the compression processing time constant.
[0107] <Modification 2 of Example 1> For example, the compression processing flow described with reference to FIG. 10 is described as a case where the compression processing system 204 performs compression processing on a first-in, first-out basis for all compression requests.
[0108] However, the present invention is not limited to this. The compression processing system 204 may assign a compression priority to a compression request and perform compression processing according to the priority.
[0109] As a method of assigning compression priorities, for example, the compression processing system 204 may assign compression priorities to each project. A configuration related to compression priority is added to the automatic compression condition management information 221, and a field for storing the compression priority of video data to be automatically compressed is stored. Then, when the storage periodic monitoring system 203 issues a compression request to the compression processing system 204, the compression request includes information about the compression priority in addition to the path in the user storage 131 of the video data to be compressed (the path based on the value of the input data location 501) and the path in the user storage 131 where the compressed video data is stored (the path based on the value of the output data location 502).
[0110] While an example of assigning a compression priority to each project has been described above, the present invention is not limited to this. When the compression processing flow is interrupted or scheduled to be interrupted due to a system malfunction or maintenance, the compression processing may be interrupted and a compression priority may be assigned to the interrupted compression request. For example, when a compression request acquired by the compression processing system 204 in step S1001 is interrupted in any of steps S1003 to S1007, the compression processing system 204 may assign a compression priority to the compression request whose processing is interrupted. This method is also applicable when there is provider-side resource control related to this data compression system. For example, when the compression processing of this embodiment is interrupted as a provider-side resource control, the compression processing system 204 may assign a compression priority to the compression request whose processing is interrupted.
[0111] The compression requests assigned a high compression priority are stored in the queue management system with the highest priority (hereinafter referred to as the "priority queue") among the multiple queue management systems. Then, in step S1001, the compression processing system 204 performs compression processing on the compression requests stored in the priority queue among the multiple queue management systems. This method has the advantage of being able to perform compression processing according to priority.
[0112] The above-described embodiment of the present invention can be summarized as follows.
[0113] (1) A data compression system according to the present invention has a storage system 206 that stores video data and metadata assigned to the video data, and a video data compression system that communicates with the storage system 206 via a network 110, and further comprises an interface (compression setting interface 201) for registering settings related to the compression process, and a compression function unit included in the video data compression system that compresses and decompresses the video data, wherein the settings related to the compression process include compression settings that include a designated object, which is information indicating an imaging area that is arbitrarily designated in the video data, and a metadata association setting that links the compression setting to the metadata, and the compression function unit has a first function of acquiring video data in the storage system 206 as video data to be compressed, and a second function of acquiring metadata assigned to the video data to be compressed and acquiring compression settings linked to the metadata in accordance with the metadata association setting, and the compression function unit compresses the video data to be compressed acquired based on the first function in accordance with the compression settings acquired based on the second function, to create compressed video data. As a result, the data compression system can efficiently compress the video data stored in the storage system 206. That is, according to the present invention, it is possible to provide a data compression system that can efficiently compress the video data stored in the storage system 206.
[0114] (2) The settings related to the compression process include an automatic compression condition setting that sets automatic compression conditions, which are the conditions for automatically starting compression, and the first function is a function that acquires video data in the storage system 206 that satisfies the automatic compression conditions as video data to be compressed in accordance with the automatic compression condition setting.
[0115] (3) The compression function unit has a third function of acquiring one or more still image data from the moving image data to be compressed, and the compression function unit compresses the still image data acquired based on the third function in accordance with compression settings linked to the metadata acquired based on the second function, to create compressed moving image data.
[0116] (4) When video data is stored in the storage system 206, the storage system 206 has a function of identifying the transfer source of the video data and automatically setting metadata to be added to the video data.
[0117] (5) The compression function unit includes processors that execute the first function and the second function, and the number of processors is changed depending on the amount of video data to be compressed.
[0118] (6) The video data to be compressed has compression priority information indicating the priority of the compression process, and the compression function unit executes the second function on the video data to be compressed having a higher compression priority before the video data to be compressed having a lower compression priority, depending on the compression priority information of the video data to be compressed obtained according to the first function.
[0119] (7) The object information of interest includes compression information that sets a first object region to which a first compression rate is applied and a second object region to which a second compression rate lower in compression efficiency than the first compression rate is applied, and the compression function unit identifies the first object region and applies the first compression rate, and identifies the second object region and applies the second compression rate, for the video data to be compressed, in accordance with the compression setting linked to the metadata obtained based on the second function, to create compressed video data.
[0120] (8) The automatic compression conditions include a plurality of conditions, and the compression function unit determines that the automatic compression conditions are met when all of the plurality of conditions are met.
[0121] (9) The automatic compression conditions include a condition regarding the elapsed time, which is the time that has passed since the video data was stored in the storage system 206.
[0122] (10) The automatic compression conditions include a condition regarding the read frequency, which is the frequency at which moving image data is read.
[0123] The present invention is not limited to the above-described embodiments, examples, and modifications, and can be implemented using any components within the scope of the present invention.
[0124] The above-described embodiments, examples, and modifications are merely examples, and the present invention is not limited to these details as long as the features of the invention are not impaired. Furthermore, although various embodiments, examples, and modifications have been described above, the present invention is not limited to these details, and not all of these details are necessarily essential to the solution of the present invention. Other aspects conceivable within the scope of the technical idea of the present invention are also included within the scope of the present invention.
[0125] In the above figures, the control lines and information lines shown are those that are considered necessary for explanation, and do not necessarily show all the control lines and information lines that are necessary for implementation. For example, it can be assumed that in reality, almost all components are interconnected.
[0126] Furthermore, the layout of each functional unit in the data compression system described above is merely an example, and the layout of each functional unit can be changed to an optimal layout in terms of the performance, processing efficiency, communication efficiency, etc. of the hardware and software provided in the data compression system.
[0127] Furthermore, the aforementioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole in hardware, for example by designing them as integrated circuits, or may be realized in software by a processor interpreting and executing a program that realizes each function. [Explanation of symbols]
[0128] 100...Video camera 101...User server 110…Network 121...Compression / Expansion System 131...User storage 201...Compression setting interface 202...Automatic compression condition setting interface 203...Storage periodic monitoring system 204...Compression processing system 205...Database System 206...Storage system 211...Video Compressor 221...Automatic compression condition management information 222...Compression setting association management information 231...Compression setting data 301...Video Encoder 302...Compression parameter generator
Claims
1. a storage system for storing video data and metadata assigned to the video data; a video data compression system that communicates with the storage system via a network; In a data compression system having An interface for registering settings related to compression processing, a compression function unit included in the moving image data compression system, which compresses and decompresses moving image data; The settings for the compression process are as follows: a compression setting including a designated object, which is information indicating an imaging area arbitrarily designated in the video image data; a metadata association setting that associates the compression setting with the metadata, The compression function unit a first function of acquiring video data in the storage system as video data to be compressed; a second function of acquiring metadata assigned to the moving image data to be compressed and acquiring compression settings associated with the metadata in accordance with the metadata association settings; The compression function unit The compression target moving image data acquired based on the first function is compressed in accordance with the compression setting acquired based on the second function, and compressed moving image data is generated.
1. A data compression system comprising:
2. 2. The data compression system of claim 1, The settings for the compression process are as follows: It includes automatic compression condition settings that set the automatic compression conditions that are the conditions for starting compression automatically, The first function is A function of acquiring, according to the automatic compression condition setting, moving image data that satisfies the automatic compression conditions from among the moving image data in the storage system as moving image data to be compressed.
1. A data compression system comprising:
3. 2. The data compression system of claim 1, The compression function unit a third function of acquiring one or more still image data from the moving image data to be compressed; The compression function unit compressing the plurality of still image data acquired based on the third function in accordance with the compression setting associated with the metadata acquired based on the second function, and generating compressed moving image data; 1. A data compression system comprising:
4. 2. The data compression system of claim 1, When video data is stored in the storage system, the storage system has a function of identifying the transfer source of the video data and automatically setting metadata to be added to the video data.
1. A data compression system comprising:
5. 2. The data compression system of claim 1, The compression function unit a processor that executes the first function and the second function; changing the number of the processors according to the amount of the moving image data to be compressed; 1. A data compression system comprising:
6. 2. The data compression system of claim 1, the moving image data to be compressed includes compression priority information indicating a priority of a compression process; The compression function unit According to compression priority information of the moving image data to be compressed obtained in accordance with the first function, the second function is executed on the moving image data to be compressed that has a higher compression priority before the moving image data to be compressed that has a lower compression priority.
1. A data compression system comprising:
7. 2. The data compression system of claim 1, The object of interest information comprises: the compression information setting a first object region to which a first compression rate is applied and a second object region to which a second compression rate lower in compression efficiency than the first compression rate is applied, The compression function unit For the moving image data to be compressed, specifying the first object region and applying the first compression rate, and specifying the second object region and applying the second compression rate are performed in accordance with the compression setting associated with the metadata acquired based on the second function, thereby generating compressed moving image data.
1. A data compression system comprising:
8. 3. The data compression system of claim 2, The automatic compression conditions include a plurality of conditions, The compression function unit determines that the automatic compression condition is met when all of the plurality of conditions are met.
1. A data compression system comprising:
9. 3. The data compression system of claim 2, The automatic compression conditions include a condition regarding the elapsed time, which is the time that has elapsed since the video data was stored in the storage system.
1. A data compression system comprising:
10. 3. The data compression system of claim 2, The automatic compression conditions include a condition regarding a read frequency, which is a frequency at which moving image data is read.
1. A data compression system comprising:
11. A compression processing method for a data compression system having a storage system that stores moving image data and metadata assigned to the moving image data, and a moving image data compression system that communicates with the storage system via a network, comprising: An interface for registering settings related to compression processing, a compression function unit included in the moving image data compression system, which compresses and decompresses moving image data; The settings for the compression process are as follows: a compression setting including a designated object, which is information indicating an imaging area arbitrarily designated in the video image data; a metadata association setting that associates the compression setting with the metadata, The compression function unit a first function of acquiring video data in the storage system as video data to be compressed; a second function of acquiring metadata assigned to the moving image data to be compressed and acquiring compression settings associated with the metadata in accordance with the metadata association settings; The compression function unit The compression target moving image data acquired based on the first function is compressed in accordance with the compression setting acquired based on the second function, and compressed moving image data is generated. A compression processing method in a data compression system comprising each of the methods.
Citation Information
Patent Citations
Storage system and method for making storage cost appropriate
JP2020155071A