Video recording system, information processing device, and recording method
Patent Information
- Application Number
- JP2025527495
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Priority Date
- 2023-06-20
- Filing Date
- 2024-04-08
- Publication Date
- 2024-12-26
AI Technical Summary
In video recording systems using semiconductor memory, the process of garbage collection, which involves erasing data in blocks and moving other data to maintain storage efficiency, reduces storage operating speed and increases the need for frequent data relocation, leading to performance degradation.
The system generates unit data of a size matching one or more erase blocks from video data and records it in a way that no other data is present in the same erase block, allowing for efficient erasure without the need for garbage collection, by aligning data with erase block boundaries and prioritizing data importance for separate block allocation.
This approach suppresses the occurrence of garbage collection, maintaining high writing and reading speeds by ensuring that only necessary data is erased and relocated, thereby enhancing storage performance and reducing fragmentation.
Abstract
Description
Video recording system, information processing device, and recording method
[0001] The present disclosure relates to a video recording system that records video data in a storage device configured by a semiconductor memory, an information processing device, and a recording method that records video data in the storage device.
[0002] There is known a system that inputs video data output by a video output device such as a camera and records the video data in a storage device configured with semiconductor memory (e.g., a solid-state drive (SSD)) (see, for example, Patent Document 1). The video data recorded in this storage device is used, for example, for future playback or video editing.
[0003] International Publication No. WO2019 / 112710
[0004] In storage devices that are made up of semiconductor memory, data recorded in the storage device is erased in units of blocks called "erase blocks." Furthermore, each block, which is the unit of erasure, contains multiple data writing units (called "pages").
[0005] In this way, when erasing data in a configuration in which an erase block contains multiple pages, if data is recorded up to the middle of the erase block, it is necessary to erase not only the data recorded up to the middle of the erase block but also the other data recorded in this erase block, and to move the other erased data to another erase block. This process is called "garbage collection."
[0006] The above garbage collection reduces the operating speed (write speed, read speed) of the storage, so it is preferable to minimize the execution of garbage collection.
[0007] The present disclosure suppresses the occurrence of garbage collection in storage configured with semiconductor memory.
[0008] A video recording system according to one aspect of the present disclosure includes an information processing device and a first storage. The information processing device executes processing related to video data. The first storage is configured with a semiconductor memory capable of recording video data. In this video recording system, the first storage has a plurality of pages and a plurality of erase blocks, each of which is a unit of writing, and each of which is a unit of erasure of data and includes consecutive pages among the plurality of pages. The information processing device generates unit data from the video data based on analysis of the video data, the unit data having a size matching one or more erase blocks, and records the unit data in the first storage.
[0009] In the video recording system disclosed herein, a first storage device configured with a semiconductor memory includes a plurality of pages, which are units for writing data, and a plurality of erase blocks, which are units for erasing data and each include a plurality of consecutive pages. Furthermore, an information processing device generates unit data from video data, each of which has a size corresponding to one or more erase blocks, and records the unit data in the first storage device. Because the unit data has a size corresponding to one or more erase blocks, no other data is recorded in an erase block in which a certain unit data is recorded. Therefore, when erasing a certain unit data, it is sufficient to erase only the unit data in the erase block, and there is no need to erase other data recorded in other erase blocks and then move it to other erase blocks. In this way, erasing data in a certain erase block eliminates the need to erase other data not to be erased that is recorded in the certain erase block and move it to other erase blocks, thereby reducing the occurrence of garbage collection.
[0010] FIG. 1 is a diagram showing the configuration of a video recording system. FIG. 2 is a diagram showing the configuration of an information processing device. FIG. 3 is a flowchart showing a first example of a video data recording operation. FIG. 4 is a diagram showing an example of a method for determining the size of a unit file when multiple types of first storage with different erasure block sizes exist. FIG. 5 is a flowchart showing a second example of a video data recording operation. FIG. 6 is a flowchart showing the video data recording operation in the second example of the operation. FIG. 7 is a diagram showing the configuration of a video recording system in a second modification. FIG. 8 is a diagram showing the configuration of an information processing device in the second modification. FIG. 9 is a diagram showing the configuration of a video file in a third example of the operation. FIG. 10 is a diagram showing an example of a method for managing video files using logical addresses. FIG. 11 is a diagram showing another example of a video recording system.
[0011] Hereinafter, embodiments will be described in detail with reference to the drawings as appropriate. However, more detailed description than necessary may be omitted. For example, detailed description of already well-known matters or redundant description of substantially identical configurations may be omitted. This is to avoid unnecessary redundancy in the following description and to facilitate understanding by those skilled in the art. Note that the inventors provide the accompanying drawings and the following description to enable those skilled in the art to fully understand the present disclosure, and do not intend for them to limit the subject matter described in the claims.
[0012] In this disclosure, "video data" refers to data including video data and audio data, data including only video data, and data including still image data. Data division refers to dividing data as needed and matching the size of the divided data to the size of a predetermined division unit.
[0013] [1. Video Recording System] A video recording system 100 according to the present disclosure will be described below with reference to the drawings. The video recording system 100 is a system for recording video data acquired by a video output device 2 (described later) in storage. The video data recorded in the storage is used, for example, for future playback and editing. Editing video data includes, for example, generating new video data by inserting a specific portion of other video data into video data.
[0014] The configuration of the video recording system 100 will be described below with reference to Fig. 1. Fig. 1 is a diagram showing the configuration of the video recording system 100. The video recording system 100 includes an information processing device 1 and a first storage 3.
[0015] The information processing device 1 is connected to a video output device 2. The video output device 2 is a device that acquires video data and outputs it to the outside. The video output device 2 is, for example, a video shooting device that includes a camera that captures a predetermined video, a microphone that captures the audio of the predetermined video, and the like. Alternatively, the video output device 2 may be a media server that records a large number of videos. The video output from the video output device 2 is, for example, high-quality video such as uncompressed 4K video. Note that, although only one video output device 2 is provided in the example shown in FIG. 1 , this is not limiting. The video recording system 100 may include multiple video output devices 2.
[0016] The information processing device 1 executes various information processes related to the video data input from the video output device 2. The information processing device 1 is also connected to an operation device 4. The operation device 4 is a device for performing operations for editing the video data. The operation device 4 includes, for example, an input device (e.g., a keyboard, a mouse, an operation panel, etc.) for performing operations related to editing the video data, and a display device (e.g., a display) for displaying the video data.
[0017] The information processing device 1 is connected to a first storage 3. The information processing device 1 records video data input from the video output device 2, video data converted into a compressed format, edited video data, etc. in the first storage 3. The information processing device 1 also reads specific video data from the first storage 3.
[0018] The first storage 3 reads out designated video data in accordance with a command from the information processing device 1. The first storage 3 also records video data received from the information processing device 1 in accordance with a command from the information processing device 1. The first storage 3 is, for example, an enterprise-grade solid-state drive such as a triple-level cell (TLC) type solid-state drive (SSD) configured with semiconductor memory (for example, flash memory) capable of recording video data.
[0019] The semiconductor memory of the first storage 3 has a plurality of pages, which are units for writing data. The semiconductor memory of the first storage 3 also has a plurality of erase blocks, which are units for erasing data. Each erase block contains a plurality of pages. That is, in the first storage 3, data is written in units of pages, while data is erased in units of erase blocks.
[0020] 2. Information Processing Device The configuration of the information processing device 1 will be described with reference to Fig. 2. Fig. 2 is a diagram showing the configuration of the information processing device 1. The information processing device 1 has a CPU 11, a RAM 13, a storage unit 15, an interface 17, and a storage interface 19.
[0021] The CPU 11 executes various processes in the information processing device 1. Specifically, the CPU 11 executes information processes such as compression processing of video data acquired from the video output device 2, information processing related to editing, and analysis processing.
[0022] The CPU 11 performs compression processing of the video data, for example, inter-frame prediction compression processing. Specifically, the CPU 11 converts the video data acquired from the video output device 2 into I frames, P frames, and B frames, and generates compressed video data using these frames. An I frame is a frame that holds all the information required to display the frame. In other words, a video can be displayed using only the I frame. A P frame holds differential information from the previous I frame, and therefore cannot display a video using only this frame. A B frame holds differential information from the I frames, P frames, and B frames that precede and follow it, and therefore cannot display a video using only this frame.
[0023] The CPU 11 compresses the video data by making the first frame of the video data an I frame and the remaining frames P frames or B frames, thereby reducing the size of the video data recorded in the first storage 3.
[0024] The CPU 11 processes information related to editing of the video data by outputting the video data to the operation device 4 to display it, and also accepts an operation of the operation device 4 to edit the video data.
[0025] The RAM 13 is a storage area that temporarily stores commands, video data, etc. generated by the CPU 11. The storage unit 15 is configured with, for example, a ROM, a hard disk (HDD), a solid state drive (SSD), etc. The storage unit 15 stores settings related to information processing executed by the information processing device 1, parameters used for the information processing, etc.
[0026] The storage unit 15 stores erase block information I1. The erase block information I1 stores the size of an erase block included in the first storage 3. An erase block is a unit of data erasure in the first storage 3.
[0027] The interface 17 connects the information processing device 1 to other devices. As shown in Fig. 2, the video output device 2 and the operation device 4 are connected to the interface 17. The interface 17 is an interface for connecting video-related devices such as interfaces conforming to the Serial Digital Interface (SDI) standard.
[0028] The interface 17 may include a network interface such as a Gigabit Ethernet (registered trademark) interface. The video output device 2, the operation device 4, and / or other devices may be connected to the network interface. In this case, communication between the information processing device 1 and other devices may use, for example, transmission according to the ST2110 standard of the SMPTE standardization organization. The network interface may also be capable of directly transmitting and receiving data between the RAM 13 of the information processing device 1 and the RAM of other devices using remote direct memory access (RDMA). This enables high-speed data transmission and reception between the information processing device 1 and other devices.
[0029] The storage interface 19 connects to the first storage 3. The storage interface 19 is, for example, a PCIe interface compliant with the PCI Express standard of the PCI-SIG standard. This allows the information processing device 1 and the first storage 3 to send and receive data at high speed using a protocol dedicated to non-volatile memory (NVMe (Non-Volatile Memory Express)) using a PCI-Express bus. In NVMe, the controller acquires data from the NAND memory using the NAND protocol, converts it to the PCIe protocol, and transfers it to the host side. In contrast, in the case of conventional SATA (Serial-ATA), the DMA controller that transfers data directly to the host side converts and acquires data from the NAND memory to the SATA protocol, and then converts the data to the PCIe protocol and transfers it to the host. In other words, NVMe processing directly converts from the NAND protocol to the PCIe protocol, resulting in fast data transfer processing speeds.
[0030] In the information processing device 1, the CPU 11, the RAM 13, the interface 17, and the storage interface 19 constitute a control unit of the information processing device 1. The storage unit 15 constitutes a storage unit of the information processing device 1.
[0031] [3. Operation of the Video Recording System] [3-1. Operation Example 1] The following describes the video data recording operation in the video recording system 100. First, operation example 1 of recording video data will be described. In operation example 1, unit data of a size matching one or more erase blocks is generated as one file (referred to as a unit file) from the video data, which is stream data, and the unit file is recorded in the semiconductor memory of the first storage 3.
[0032] Specific operations in Example 1 of Recording Operation of Video Data will be described below with reference to FIG. 3. FIG. 3 is a flowchart showing Example 1 of Recording Operation of Video Data. When the video recording system 100 is started up, the information processing device 1 acquires erasure block information I1 in the first storage 3 (step S11). Specifically, the CPU 11 requests the first storage 3 to transmit the erasure block information I1. Upon receiving this request, the first storage 3 transmits the erasure block information I1 to the information processing device 1. When the information processing device 1 receives the erasure block information I1, the CPU 11 stores the received erasure block information I1 in the memory unit 15.
[0033] After the erasure block information I1 is acquired, the recording of the video data starts. More specifically, the video data is recorded as follows.
[0034] The CPU 11 of the information processing device 1 first determines the size of a unit file (unit data) for recording video data (step S12). The CPU 11 determines the size of the unit file to be equal to the size of one or more erasure blocks. Specifically, the CPU 11 determines the size of the unit file to be one or more times the size of the erasure block indicated in the erasure block information I1 (referred to as the erasure block size).
[0035] In the video recording system 100, if multiple types of erase block sizes are possible, for example, if there are multiple first storages 3 with different erase block sizes, the least common multiple of the multiple erase block sizes can be used as the size of the unit file.
[0036] For example, as shown in Figure 4, if there are three first storages 3: a storage (Storage 0) with an erase block size of "10", a storage (Storage 1) with an erase block size of "20", a storage (Storage 2) with an erase block size of "40", and a storage (Storage 3) with an erase block size of "80", the unit file size is set to "80", which is the least common multiple of the erase block sizes of these storages. Figure 4 is a diagram showing an example of a method for determining the size of a unit file when there are multiple types of first storages 3 with different erase block sizes.
[0037] As will be described later, a unit file is generated by adding a header and a footer to video data. Therefore, the size of video data that can be recorded in a unit file is set to one or more times the erase block size minus the sizes of the header and footer.
[0038] After determining the size of the unit file, the CPU 11 generates and opens the unit file for recording video data (step S13). Opening a unit file means making the unit file available for data recording. Based on the erase block information I1, the CPU 11 records the unit data in the first storage 3, aligning it with the boundaries of the erase blocks. Specifically, the start address of the unit file is set to the start address of an empty erase block, among the multiple erase blocks included in the first storage 3, in which no other data has been recorded and in which data can be recorded. This reliably prevents unit data from being recorded in the middle of an erase block or from ending in the middle of an erase block. As a result, garbage collection can be more reliably suppressed.
[0039] Next, the CPU 11 generates a header section to be included in the unit file (step S14). As shown in Fig. 4, the header section includes information (H) about the unit file and / or the video data recorded in the unit file, metadata (M), etc. The metadata includes, for example, the frequency of access to the video data, the importance of the video data, and usage process information about the video data. The usage process information is, for example, information about the recording, editing, transmission, and / or reuse of the video data.
[0040] Thereafter, the CPU 11 determines whether or not video data has been received from the video output device 2 (step S15). If video data has been received ("Yes" in step S15), the CPU 11 determines whether video data of the size determined in step S12 has been written to the currently open unit file and whether the video data needs to be divided (step S16). In other words, it determines whether or not the video data needs to be recorded in a separate unit file.
[0041] If there is no need to record the video data in another unit file ("No" in step S16), i.e., if the size of the video data recorded in the current unit file is smaller than the size determined in step S12, CPU 11 records the video data received from video output device 2 in the current unit file (step S17).
[0042] When recording video data, the CPU 11 compresses the video data and records it in a unit file. Specifically, as shown in Figure 4, if the received video data is the first frame of data to be recorded in the unit file, the CPU 11 records the video data as an I frame in the unit file as is. On the other hand, if the received video data is not the first frame of data to be recorded in the unit file, the CPU 11 generates a P frame or a B frame from the video data (for example, extracts only the difference from the I frame from the video data) and records this in the unit file. This allows more frames of video data to be recorded in the unit file.
[0043] On the other hand, if the video data needs to be recorded in another unit file ("Yes" in step S16), the CPU 11 executes a process to stop recording the video data in the currently open unit file. Specifically, as shown in Fig. 4, the CPU 11 adds a header section to the beginning of the video data in the currently open unit file and adds a footer section (F) to the end of the video data (step S18). The footer section includes information about the unit file and / or the video data to be recorded in the unit file.
[0044] In step S17, when the header portion is added to the video data, the CPU 11 changes the content of the header portion generated in step S14 as necessary.
[0045] Furthermore, if the size of the unit file obtained by adding the header and footer sections to the video data is smaller than the size determined in step S12, the CPU 11 further includes padding data (P) in the unit file, as shown in Fig. 4. Padding data has no specific meaning and is data intended to increase the file size.
[0046] After adding a header and a footer to the video data and padding data as necessary, the CPU 11 closes the current unit file (step S19). Closing the unit file means making the unit file unavailable for data recording. In this way, one unit file having a size one or more times the erase block size is generated.
[0047] After generating the unit files, the video data recording operation returns to step S13. That is, the CPU 11 executes steps S13 to S19 described above as long as a video data stream is received from the video output device 2, and records the received video data stream in a new unit file. As a result, the video data, which is stream data, is divided and recorded into multiple unit files.
[0048] In step S15 above, if video data is no longer received from the video output device 2 ("No" in step S15), the CPU 11 stops recording video data in the currently open unit file. Specifically, in the currently open unit file, the CPU 11 adds a header section to the beginning of the video data and adds a footer section to the end of the video data (step S20).
[0049] In step S20, when adding a header section to the video data, the CPU 11 changes the content of the header section generated in step S13 as necessary. Furthermore, the CPU 11 may include padding data in the unit file as necessary. This allows the size of the unit file to be set to one or multiple times the erase block size when the video data included in the unit file is small and the unit file size is smaller than the size determined in step S11.
[0050] After adding a header and a footer to the video data and adding padding data as necessary, the CPU 11 closes the current unit file (step S21).
[0051] As described above, by generating unit files from video data that have a size that matches one or more erasure blocks included in the first storage 3 and recording the unit files in the first storage 3, it is possible to suppress the occurrence of garbage collection in the first storage 3. This is because, since the unit files have a size that matches one or more erasure blocks, no other data is recorded in the erasure block in which a certain unit file is recorded. Furthermore, when erasing unit files from the first storage 3, for example, to erase video data, it is sufficient to erase only the unit data in units of erasure blocks, and there is no need to erase other data recorded in other erasure blocks and then move it to other erasure blocks. In other words, in order to erase a unit file in a specific erasure block, there is no need to erase other data that is not to be erased and that is recorded in that specific erasure block and then move it to other erasure blocks.
[0052] [3-2. Operation Example 2] Next, a video data recording operation example 2 will be described. In operation example 2, the recording position of a unit file in the first storage 3 is determined based on the importance of the video data to be recorded as a unit file. When recording a unit file, unit files with high importance are recorded in a plurality of consecutive erase blocks (first consecutive erase blocks), and unit data with low importance are recorded in a plurality of consecutive erase blocks (second consecutive erase blocks) different from the erase blocks in which the unit data with high importance are recorded. In other words, unit files are recorded together in the first storage 3 by importance.
[0053] Specific operations in the second example of video data recording operation will be described below with reference to FIG. 5. FIG. 5 is a flowchart showing the second example of video data recording operation. When the video recording system 100 is started, the information processing device 1 acquires erasure block information I1 in the first storage 3 (step S31). This process has been described in the first example of operation, so a description thereof will be omitted here. After acquiring the erasure block information I1, recording of video data begins. In detail, the video data is recorded as follows.
[0054] The CPU 11 of the information processing device 1 first determines the size of a unit file (unit data) for recording video data (step S32). The processing by the CPU 11 in step S32 is the same as the operation in step S12 in the above-described operation example 1. Therefore, a description of the operation in step S32 will be omitted.
[0055] After determining the size of the unit file, the CPU 11 determines whether or not video data has been received from the video output device 2 (step S33). If video data has been received ("Yes" in step S33), the CPU 11 determines whether video data of the size determined in step S32 is currently stored in the information processing device 1 and whether or not the video data needs to be divided (step S34).
[0056] If there is no need to divide the video data ("No" in step S34), that is, if the size of the video data accumulated up to now is smaller than the size determined in step S32, CPU 11 accumulates the video data (step S35). Specifically, CPU 11 stores and accumulates the received video data in RAM 13 and / or storage unit 15.
[0057] On the other hand, if it is necessary to divide the video data ("Yes" in step S34), that is, if the size of the video data accumulated up to now has reached the size determined in step S32, the accumulated video data is recorded in the first storage 3 (step S36).
[0058] If video data is no longer received in step S33 (step S33: No), the video data accumulated up to that point is recorded in the first storage 3 (step S37).
[0059] In the second operational example, the accumulated video data is recorded in the first storage 3 in accordance with the flowchart shown in Fig. 6. That is, the above steps S36 and S37 are executed in accordance with the flowchart shown in Fig. 6. Fig. 6 is a flowchart showing the video data recording operation in the second operational example.
[0060] First, the CPU 11 of the information processing device 1 determines the importance of the accumulated video data (step S201). Specifically, the CPU 11 analyzes the images and / or audio contained in the video data and determines the importance of the video data based on the analysis results. The importance of the video data is high when the content of the video data is important, for example, when the video data includes a climax scene. On the other hand, the importance of the video data is low when the video data includes unimportant content. The CPU 11 analyzes the video data using, for example, image recognition and audio recognition using artificial intelligence.
[0061] If the importance of the video data is high ("High" in step S201), the CPU 11 generates a unit file for recording the accumulated video data at a first location in the data recording area in the first storage 3 (step S202). When recording a unit file containing video data of high importance for the first time, the first location becomes the beginning of the recording area previously determined to record the video data of high importance. The physical address of the beginning of this recording area coincides with the start address of any free erase block.
[0062] On the other hand, if a unit file containing important video data has already been recorded, the first position becomes the location of the erase block next to the block in which the last unit file containing important video data was recorded. That is, a plurality of unit files containing important video data are recorded continuously across a plurality of erase blocks without leaving any erase block in which no unit file is recorded.
[0063] On the other hand, if the importance of the video data is low ("low" in step S201), the CPU 11 generates a unit file for recording the accumulated video data at a second location in the data recording area in the first storage 3 (step S203). The second location is different from the first location for recording unit files containing video data of high importance, and is separated from the first location by a distance equivalent to a multiple of the erasure block size. Furthermore, to avoid overlap between the recording area for video data of high importance and the recording area for video data of low importance, it is preferable that the first location and the second location are sufficiently separated.
[0064] When a unit file including video data of low importance is recorded for the first time, the second position is the beginning of a recording area previously determined to record the video data of low importance, and the physical address of the beginning of this recording area coincides with the start address of any free erase block.
[0065] On the other hand, if a unit file including video data of low importance has already been recorded, the second position is the location of the erase block next to the last unit file including video data of low importance that was recorded in. That is, a plurality of unit files including video data of low importance are recorded continuously across a plurality of erase blocks without leaving any erase block in which no unit file is recorded.
[0066] After generating a unit file at a position determined based on the importance of the video data, the video data is recorded in the unit file. Specifically, first, the CPU 11 opens the unit file in which the video data is to be recorded (step S204). Then, the CPU 11 adds a header and a footer to the accumulated video data (step S205), adds padding data as necessary, and records the video data in the open unit file (step S206). After recording the video data in the unit file, the CPU 11 closes the unit file in which the video data has been recorded (step S207).
[0067] As described above, by recording unit files containing video data of high importance in a plurality of consecutive erase blocks (first consecutive erase blocks) and recording unit files containing video data of low importance in another plurality of consecutive erase blocks (second consecutive erase blocks), it is possible to suppress the occurrence of garbage collection. For example, when deleting (erasing) only the video data of low importance from a file containing a mixture of video data of high importance and video data of low importance, fragmentation of the file occurs after the video data of low importance is deleted, which may result in garbage collection.
[0068] On the other hand, when a unit file containing video data of high importance and a unit file containing video data of low importance are continuously recorded in separate recording areas, if only the video data of low importance is deleted (erased), the unit file containing the video data of high importance remains continuously recorded across multiple erasure blocks even after the video data of low importance is deleted. In other words, fragmentation of the file containing the video data of high importance is suppressed. As a result, the occurrence of garbage collection is suppressed. Furthermore, when deleting video data of low importance, since the unit file containing the video data of low importance is continuously recorded across multiple erasure blocks, the occurrence of garbage collection accompanying the deletion of this unit file is also suppressed.
[0069] [3-2-1. Variation 1] Next, Variation 1 of Example 2 of the video data recording operation will be described. In Variation 1, the first storage 3 includes multiple data recording areas. Data can be recorded separately in each of the multiple recording areas of the first storage 3. The recording areas are, for example, partitions, namespaces, and zones. Partitions are created by commands from the operating system of the information processing device 1. Namespaces are created by commands to the first storage 3. Zones are created by physically (hardware-wise) dividing the recording area of the first storage 3. Zones can be configured, for example, in units of one or multiple semiconductor memory chips, in units of physical addresses of semiconductor memories, or in units of a predetermined number of recording elements within a semiconductor memory chip.
[0070] When the first storage 3 includes a plurality of data recording areas, a plurality of consecutive erase blocks (first consecutive erase blocks) for recording unit data of high importance may be included in one recording area (first recording area) of the plurality of data recording areas, and a plurality of consecutive erase blocks (second consecutive erase blocks) for recording unit data of low importance may be included in one recording area (second recording area) other than the recording area in which the unit data of high importance is recorded. Specifically, the first location in Operation Example 2 may be an empty erase block of one of the plurality of data recording areas, and the second location may be an empty erase block of another data recording area.
[0071] In this way, by recording video data of the same importance in each recording area, it becomes easier to manage the video data, and it is possible to prevent overlapping between the recording area of a unit file containing video data of high importance and the recording area of a unit file containing video data of low importance.
[0072] [3-2-2. Modification 2] Next, a description will be given of Modification 2 of Video Data Recording Operation Example 2. In Modification 2, unit files including video data of high importance are recorded in the first storage 3, which has high performance (high speed data writing / reading), while unit files including video data of low importance are recorded in storage with lower performance than the first storage 3.
[0073] In Modification 2, the video recording system 100A further includes a second storage 5, as shown in Fig. 7. Fig. 7 is a diagram showing the configuration of the video recording system 100A in Modification 2. Note that, as shown in Fig. 8, the second storage 5 is connected to a storage interface 18 of the information processing device 1. The storage interface 18 is, for example, an S-ATA interface. Fig. 8 is a diagram showing the configuration of the information processing device 1A in Modification 2.
[0074] The second storage 5 is a storage device that has a slower data writing / reading speed than the first storage 3. Specifically, the second storage 5 is a relatively high-speed storage device such as a quad-level cell (QLC) type solid state drive or hard disk drive (HDD).
[0075] In the second modification, in the second operation example, unit files containing video data of high importance are continuously recorded across multiple erase blocks of the first storage 3, and unit files containing video data of low importance are continuously recorded across another multiple erase blocks of the first storage 3, and then the CPU 11 copies the unit files containing the video data of low importance to the second storage 5 and erases the unit files containing the video data of low importance recorded in the first storage 3.
[0076] Video data with a high degree of importance is important in terms of content and therefore tends to be used frequently. On the other hand, video data with a low degree of importance tends to be used for secondary purposes and is not used as frequently. Therefore, by recording only video data with a high degree of importance in the high-performance first storage 3, it is possible to save the capacity of the first storage 3 and to access the video data at high speed, thereby making work related to the video data (e.g., editing work) more efficient.
[0077] [3-2-3. Modification 3] Next, a description will be given of Modification 3 of Video Data Recording Operation Example 2. In Modification 3, unit files including video data of high importance are recorded in the first storage 3, which has high performance (high speed data writing / reading), while the entire video data of low importance is recorded in storage with lower performance than the first storage 3.
[0078] A video recording system 100A in the third modification has a configuration as shown in Fig. 7. That is, the storage that records the entire video data is the second storage 5.
[0079] In the third modification, after the second operation example is used to continuously record unit files containing video data of high importance across multiple erase blocks in the first storage 3 and continuously record unit files containing video data of low importance across another multiple erase blocks in the first storage 3, the CPU 11 copies the unit files containing the video data of high importance and the unit files containing the video data of low importance to the second storage 5, and erases only the unit files containing the video data of low importance that were recorded in the first storage 3.
[0080] When moving unit files including video data of high importance and unit files including video data of low importance to the second storage 5, the CPU 11 rearranges the unit files in the order in which the video data was received and records them in the second storage 5. That is, in the second storage 5, the video data (unit files) are recorded in the order in which they were output from the video output device 2.
[0081] In this way, by recording only the video data of high importance in the high-performance first storage 3, it is possible to conserve the capacity of the first storage 3 and to access the video data at high speed, thereby improving the efficiency of work related to the video data (for example, editing work).On the other hand, by recording all the video data in the low-performance second storage 5, it is possible to store the video data as a whole and make it easier to manage it.
[0082] [3-3. Operation Example 3] Next, a video data recording operation example 3 will be described. In operation example 3, video data is not divided into unit files but is treated as a single file, and the data position of the video data in that file is specified by a logical address. In this case, one file of video data is separated into partial data each having a size one or multiple times the erase block size, using the logical address.
[0083] Specifically, as shown in Figure 9, the entire video data is treated as a single video file. The beginning and end of this video file are specified by a logical start address (AAAA) and a logical end address (BBBB), respectively. Furthermore, this video file is separated into partial data each having a size equal to or multiple times the erase block size. The position of each unit of video file is specified by a logical start address (CCCC) indicating the beginning of the partial data and a logical end address (DDDD) indicating the end of the partial data. Figure 9 is a diagram showing the structure of a video file in operation example 3.
[0084] In the example shown in Figure 9, the first partial data of the video file includes a header section (H), metadata (M), partial video data that is part of the video data, and padding data (P). The last partial data of the video file includes a footer section (F), partial video data, and padding data (P). On the other hand, partial data that is neither the first nor the last includes only partial video data and padding data (P). In other words, the header section (H) is present only at the beginning of the video file, and the footer section (F) is present only at the end of the video file. Furthermore, metadata (M) is present only at the beginning of the video file.
[0085] Each piece of partial data included in a video file has a size that is one or more times the erase block size. Note that the video data is physically recorded in erase block units in the first storage 3 according to the above-mentioned operation examples 1 and 2. After that, the physical address of the video data is associated with a logical address. In other words, the difference between the start address and end address of the partial data is one or more times the erase block size. This association can be realized, for example, by a table showing the correspondence between physical addresses and logical addresses.
[0086] As described above, managing video data using logical addresses makes it easier to manage video data. For example, as shown in Fig. 10 , when partial data including one partial video data is deleted from a video file and other partial data (start address: EEEE, end address: FFFF) is inserted into the deleted portion, the video file and the other partial data to be inserted can be linked on the file system of the information processing device 1. Fig. 10 is a diagram showing an example of a method for managing video files using logical addresses.
[0087] [4. Other Embodiments] Although one embodiment of the present invention has been described above, the present invention is not limited to the above embodiment, and various modifications are possible without departing from the spirit of the invention. In particular, the multiple embodiments and modifications described in this specification can be arbitrarily combined as necessary.
[0088] (A) The order of each process in the flowchart described above and the content of each process can be changed as appropriate without departing from the spirit of the present invention. In addition, the entities that execute each process (information processing device 1, first storage 3) can also be changed as appropriate without departing from the spirit of the present invention.
[0089] (B) The above-described Operation Examples 1 to 3 and Modification Examples 1 to 3 may be incorporated in whole or in part into an information processing device. Furthermore, the video recording system may be configured to execute one of the above-described Operation Examples 1 and 2 and not execute the rest, depending on the user's operation.
[0090] (C) As shown in Fig. 11, the video recording system 100B may include a storage control device 7. Fig. 11 is a diagram showing another example of the video recording system 100B. The storage control device 7 is connected to the information processing device 1B and the first storage 3, and controls the recording of video data to the first storage 3 in accordance with commands from the information processing device 1B. In the video recording system 100B shown in Fig. 11, the information processing device 1B may perform information processing on the video data and determine the importance of the video data, and the storage control device 7 may record the video data based on the above-mentioned Operation Examples 1 to 3 and Modification Examples 1 to 3.
[0091] The storage control device 7 can grasp the importance of the video data, for example, by extracting the metadata attached to the video data by the information processing device 1B.
[0092] [5. Features of the Present Disclosure] (1) A video recording system of the present disclosure includes an information processing device and a first storage. The information processing device executes processing related to video data. The first storage is configured with a semiconductor memory capable of recording video data. In this video recording system, the first storage has a plurality of pages, which are units of writing, and a plurality of erase blocks, which are units of erasing data and each include a plurality of consecutive pages. Furthermore, the information processing device generates unit data from the video data based on analysis of the video data, the unit data having a size matching one or more erase blocks, and records the unit data in the first storage.
[0093] In the video recording system disclosed herein, a first storage device configured with a semiconductor memory includes a plurality of pages, which are units for writing data, and a plurality of erase blocks, which are units for erasing data and each include a plurality of consecutive pages. Furthermore, an information processing device generates unit data from video data, each of which has a size corresponding to one or more erase blocks, and stores the unit data in the first storage device. Because the unit data has a size corresponding to one or more erase blocks, no other unit data is recorded in an erase block in which a certain unit data is recorded. Therefore, when erasing a certain unit data, it is sufficient to erase only the unit data in the erase block, and there is no need to erase other unit data recorded in other erase blocks and then move them to other erase blocks. In this way, erasing data in a specific erase block eliminates the need to erase other data not to be erased that is recorded in the specific erase block and move it to other erase blocks, thereby reducing the occurrence of garbage collection.
[0094] (2) In the video recording system of (1) above, the information processing device may record unit data in the first storage by aligning it with the boundary of the erase block based on information about the size of the erase block. This reliably prevents unit data from being recorded in the middle of an erase block or from ending in the middle of an erase block. As a result, garbage collection can be more reliably suppressed.
[0095] (3) In the video recording system of (1) or (2) above, the information processing device may determine the importance of unit data, record unit data of high importance in a first consecutive erase block which is a plurality of consecutive erase blocks, and record unit data of low importance in a second consecutive erase block which is a plurality of consecutive erase blocks different from the first consecutive erase block in which the unit data of high importance is recorded.
[0096] This reduces the occurrence of garbage collection, for example, because more important unit data is less likely to be fragmented even when only less important unit data is erased. Also, because less important video data is recorded consecutively in multiple erase blocks, the occurrence of garbage collection is also reduced when deleting less important video data.
[0097] (4) In the video recording system of (3), the first storage may include a plurality of data recording areas each capable of recording data separately. In this case, the first consecutive erasure block for recording the unit data of high importance may be included in a first recording area, which is one of the plurality of data recording areas. Also, the second consecutive erasure block for recording the unit data of low importance may be included in a second recording area, which is one data recording area, separate from the first recording area in which the unit data of high importance is recorded.
[0098] This makes it easier to manage video data, and also prevents overlapping between the deletion blocks of unit files containing video data of high importance and the deletion blocks of unit files containing video data of low importance.
[0099] (5) Any of the video recording systems described in (1) to (4) above may further include a second storage device with lower performance than the first storage device. In this case, the information processing device determines the importance of each unit of data, records the unit of data with higher importance in multiple consecutive erase blocks in the first storage device, and records the entire video data in the second storage device. This saves the capacity of the first storage device 3 and allows for high-speed access to the video data, making work related to the video data (e.g., editing) more efficient. On the other hand, by recording the entire video data in the second storage device 5 with lower performance, the video data can be stored as a whole, making it easier to manage.
[0100] (6) In any of the video recording systems (1) to (5) above, the unit data may be a single file, which makes it easier to manage the unit data.
[0101] (7) In any of the video recording systems (1) to (6), the information processing device may be capable of specifying a data position within the video data by a logical address. In this case, a unit of data may be specified by a first logical address indicating the start position of the unit of data within the video data and a second logical address indicating the end position of the unit of data. This allows the video data to be handled as a single file, making it easier to manage the video data.
[0102] (8) Another information processing device of the present disclosure includes an interface and a control unit. The interface connects to a first storage configured with a semiconductor memory capable of recording video data. The control unit controls recording of the video data to the first storage. In this information processing device, the first storage has a plurality of pages, which are units of writing, and a plurality of erase blocks, which are units of erasing data and each include a plurality of consecutive pages. The control unit generates unit data from the video data based on analysis of the video data, the unit data having a size matching one or more erase blocks, and records the unit data in the first storage.
[0103] In the information processing device disclosed herein, a first storage device configured with a semiconductor memory includes a plurality of pages, which are units for writing data, and a plurality of erase blocks, which are units for erasing data and each include a plurality of consecutive pages. Furthermore, a control unit generates unit data from video data based on an analysis of the video data, the unit data having a size that matches one or more erase blocks, and records the unit data in the first storage device. Because the unit data has a size that matches one or more erase blocks, no other data is recorded in an erase block in which a certain unit data is recorded. Therefore, when erasing a certain unit data, it is sufficient to erase only the unit data in the erase block, and there is no need to erase other data recorded in other erase blocks. In this way, erasing data in a specific erase block eliminates the need to erase other data that is not to be erased and is recorded in the specific erase block and move it to other erase blocks, thereby reducing the occurrence of garbage collection.
[0104] (9) Another recording method disclosed herein is a method for recording video data to a first storage configured by a semiconductor memory capable of recording video data. The first storage has a plurality of pages, which are units of writing, and a plurality of erase blocks, which are units of erasing data and each block includes a plurality of consecutive pages. The recording method includes the following steps:
[0105] A step of generating unit data from the video data, the unit data having a size that matches one or more erasure blocks, based on analysis of the video data.
[0106] A step of recording the unit data in the first storage.
[0107] In the video data recording method disclosed herein, a first storage device configured with a semiconductor memory has a plurality of pages, which are units for writing data, and a plurality of erase blocks, which are units for erasing data and each of which includes a plurality of consecutive pages. The recording method generates unit data from the video data, each of which has a size corresponding to one or more erase blocks, and records the unit data in the first storage device. Because a unit file has a size corresponding to one or more erase blocks, no other data is recorded in an erase block in which a unit file is recorded. Therefore, when erasing a certain unit data, it is sufficient to erase only the unit data in the erase block, and there is no need to erase other data recorded in other erase blocks and then move it to other erase blocks. In this way, erasing data in a specific erase block eliminates the need to erase other data not to be erased that is recorded in the specific erase block and move it to other erase blocks, thereby reducing the occurrence of garbage collection.
[0108] The present disclosure can be widely applied to a video recording system that records video data in a storage device configured by a semiconductor memory, an information processing device, and a recording method that records video data in the storage device.
[0109] 100, 100A, 100B: Video recording system 1, 1A, 1B: Information processing device 11: CPU 13: RAM 15: Storage unit I1: Erasure block information 17: Interface 18, 19: Storage interface 2: Video output device 3: First storage 4: Operation device 5: Second storage 7: Storage control device
Claims
1. A video recording system comprising: an information processing device that executes processing related to video data; and a first storage constituted by a semiconductor memory capable of recording the video data, wherein the first storage has a plurality of pages and a plurality of erase blocks, each of the plurality of pages being a unit of writing, and each of the plurality of erase blocks being a unit of erasing data and including consecutive pages among the plurality of pages, and the information processing device generates unit data from the video data having a size matching one or more erase blocks based on analysis of the video data, and records the unit data in the first storage.
2. The video recording system according to claim 1, wherein said information processing device records said unit data in said first storage by aligning said unit data with boundaries of said erase blocks based on information on the size of each of said plurality of erase blocks.
3. The video recording system of claim 1, wherein the information processing device determines the importance of the unit data, records the unit data of high importance in a first consecutive erase block which is a plurality of consecutive erase blocks, and records the unit data of low importance in a second consecutive erase block which is a plurality of consecutive erase blocks other than the first consecutive erase block.
4. The video recording system of claim 3, wherein the first storage includes a plurality of data recording areas in which data can be recorded separately, the first continuous erasure block in which the unit data of high importance is recorded is included in a first recording area which is one of the plurality of data recording areas, and the second continuous erasure block in which the unit data of low importance is recorded is included in a second recording area which is one of the plurality of data recording areas and is separate from the first recording area.
5. The video recording system of claim 1, further comprising a second storage having lower performance than the first storage, wherein the information processing device determines the importance of the unit data, records the unit data with high importance in multiple consecutive recording areas of the first storage, and records the entire video data in the second storage.
6. The video recording system according to claim 1, wherein the unit data is one file.
7. The video recording system of claim 1, wherein the information processing device is capable of specifying a data position within the video data by a logical address, and the unit data is specified by a first logical address representing a start position of the unit data within the video data and a second logical address representing an end position of the unit data.
8. An information processing device comprising: an interface for connecting a first storage constituted by a semiconductor memory capable of recording video data; and a control unit for controlling the recording of the video data to the first storage, wherein the first storage has a plurality of pages and a plurality of erase blocks, each of the plurality of pages being a unit of writing, and each of the plurality of erase blocks being a unit of erasing data and including consecutive pages among the plurality of pages, and the control unit generates unit data from the video data having a size matching one or more erase blocks based on an analysis of the video data, and records the unit data in the first storage.
9. A method for recording video data into a first storage constituted by a semiconductor memory capable of recording video data, wherein the first storage has a plurality of pages and a plurality of erase blocks, each of the plurality of pages being a unit of writing, and each of the plurality of erase blocks being a unit of erasing data and including consecutive pages among the plurality of pages, the method comprising: a step of generating unit data from the video data based on an analysis of the video data, the unit data having a size matching one or more erase blocks; and a step of recording the unit data into the first storage.
Citation Information
Patent Citations
Data reproducing apparatus
JP2005051411A
Data access device and recording medium
JP2005321952A
Data management program, data management device and data management system
JP2011086317A
File system hinting
JP2013206467A
Recording apparatus, imaging and recording apparatus, recording method, and program
JP2013225760A
