WO2019196890A1 - System and method for storing multimedia resources - Google Patents
System and method for storing multimedia resources Download PDFInfo
- Publication number
- WO2019196890A1 WO2019196890A1 PCT/CN2019/082193 CN2019082193W WO2019196890A1 WO 2019196890 A1 WO2019196890 A1 WO 2019196890A1 CN 2019082193 W CN2019082193 W CN 2019082193W WO 2019196890 A1 WO2019196890 A1 WO 2019196890A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time slice
- multimedia resource
- preset time
- slice
- storing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/36—Combined merging and sorting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
Definitions
- the present disclosure generally relates to data storage technology, and in particular, relates to systems and methods for storing multimedia resources.
- multimedia resources may be provided to people for meeting various needs, such as entertainment, work, etc.
- the multimedia resources may be stored in a digital device.
- videos and audios may be recorded by an automobile data recorder, videos, photos and audios may be recorded by a monitor, or by other home appliances via smart home application.
- a thread for storing the multimedia resource may be executed. Each thread may be independent.
- these multimedia resources may not have the same timestamp corresponding to the storage time, which may cause disorder when coming to synchronous synthesis of them. Therefore, it is desirable to develop systems and methods for storing the multiple multimedia resources so as to achieve the time synchronization of multimedia resource synthesis.
- a method may include one or more of the following operations. At least one processor may determine a time slice of the multimedia resource having a specified format in real time. The at least one processor may store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- the at least one processor may determine a plurality of preset time slices based on a time sequence, and store the plurality of preset time slices.
- Each of the plurality of preset time slices and the corresponding file may be named after a start time of the preset time slice.
- the at least one processor may determine whether the time slice of the multimedia resource matches the preset time slice. In response to a determination that the time slice of the multimedia resource does not match the preset time slice, the at least one processor may designate a name of the file storing the multimedia resource based on the time slice of the multimedia resource.
- the at least one processor may determine whether the time slice of the multimedia resource matches the preset time slice. In response to a determination that the time slice of the multimedia resource matches the preset time slice, the at least one processor may determine a time length between a start time of the time slice of the multimedia resource and a storage time, and store the multimedia resource to the corresponding file based on the time length.
- the at least one processor may determine whether the time length is greater than or equal to a duration of the preset time slice. In response to a determination that the time length is greater than or equal to the duration of the preset time slice, the at least one processor may store the multimedia resource to a file corresponding to a second preset time slice. The second preset time slice may be a next time slice adjacent to the preset time slice. In response to a determination that the time length is less than the duration of the preset time slice, the at least one processor may store the multimedia resource to the corresponding file corresponding to the preset time slice.
- the at least one processor may start a thread synchronization lock.
- the at least one processor may subsequently designate the storage time of the multimedia resource as the name of the second preset time slice, and designate the name of the second preset time slice as the name of the file.
- the multimedia resource may include at least one of a digital image format, an audio format, or a video format.
- a system may include at least one storage device, at least one processor in communication with the at least one storage device.
- the at least one storage device may include one or more sets of instructions.
- the at least one processor may determine a time slice of the multimedia resource having a specified format in real time, and store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- a device may at least include a determination unit for determining a time slice of the multimedia resource having a specified format in real time, and a storing unit for storing the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- a non-transitory computer readable medium may comprise executable instructions that cause at least one processor to effectuate a method.
- the method may include one or more of the following operations.
- At least one processor may determine a time slice of the multimedia resource having a specified format in real time.
- the at least one processor may store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- FIG. 1 is a flowchart illustrating an exemplary process for storing multimedia resources according to some embodiments of the present disclosure
- FIG. 2 is a block diagram illustrating an exemplary device for storing multimedia resources according to some embodiments of the present disclosure
- FIG. 3 is a block diagram illustrating an exemplary computer storage device according to some embodiments of the present disclosure.
- FIG. 4 is a schematic diagram illustrating an exemplary scheme for storing multimedia resources according to some embodiments of the present disclosure.
- system, ” “module, ” and/or “block” used herein are one method to distinguish different components, elements, parts, section or assembly of different level in ascending order. However, the terms may be displaced by another expression if they achieve the same purpose.
- module refers to logic embodied in hardware or firmware, or to a collection of software instructions.
- a module or a block described herein may be implemented as software and/or hardware and may be stored in any type of non-transitory computer-readable medium or another storage device.
- a software module/unit/block may be compiled and linked into an executable program. It will be appreciated that software modules can be callable from other modules/units/blocks or themselves, and/or may be invoked in response to detected events or interrupts.
- Software modules/units/blocks configured for execution on computing devices (e.g., the multimedia resource storing device 200 as illustrated in FIG.
- a computer-readable medium such as a compact disc, a digital video disc, a flash drive, a magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that needs installation, decompression, or decryption prior to execution) .
- a computer-readable medium such as a compact disc, a digital video disc, a flash drive, a magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that needs installation, decompression, or decryption prior to execution) .
- Such software code may be stored, partially or fully, on a storage device of the executing computing device, for execution by the computing device.
- Software instructions may be embedded in firmware, such as an Electrically Programmable Read-Only-Memory (EPROM) .
- EPROM Electrically Programmable Read-Only-Memory
- modules/units/blocks may be included in connected logic components, such as gates and flip-flops, and/or can be included in programmable units, such as programmable gate arrays or processors.
- the modules/units/blocks or computing device functionality described herein may be implemented as software modules/units/blocks but may be represented in hardware or firmware.
- the modules/units/blocks described herein refer to logical modules/units/blocks that may be combined with other modules/units/blocks or divided into sub-modules/sub-units/sub-blocks despite their physical organization or storage. The description may apply to a system, an engine, or a portion thereof.
- module or block when a module or block is referred to as being “connected to, ” or “coupled to, ” another module, or block, it may be directly connected or coupled to, or communicate with the other module, or block, or an intervening unit, engine, module, or block may be present, unless the context clearly indicates otherwise.
- the term “and/or” includes any and all combinations of one or more of the associated listed items.
- the flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood, the operations of the flowcharts may be implemented not in order. Conversely, the operations may be implemented in inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
- FIG. 1 is a flowchart illustrating an exemplary process for storing multimedia resources according to some embodiments of the present disclosure.
- process 100 for storing the multimedia resources may be implemented by a multimedia resource storing device (e.g., a multimedia resource storing device 200 shown in FIG. 2) .
- the process 100 may also be implemented as one or more instructions stored in a storage medium and called and/or executed by a processor (e.g., a processor of the multimedia resource storing device 200) .
- the operations of the illustrated process presented below are intended to be illustrative. In some embodiments, the process 100 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 100 as illustrated in FIG. 1 and described below is not intended to be limiting.
- the processor may determine a time slice of the multimedia resource having a specified format in real time.
- the specified format may include but not limited to a digital image format, an audio format, or a video format.
- Exemplary digital image format may include bmp, jpg, png, tiff, gif, pcx, tga, exif, fpx, fvg, ps, or the like, or any combination thereof.
- Exemplary audio file format may include CD, WAVE, AIFF, AU, MP3, MIDI, WAM, RealAudio, VQF, OggVorbits, AAC, AP, or the like, or any combination thereof.
- Exemplary video file format may include MPEG, MPG, DAT, MP4, or the like, or any combination thereof.
- the processor may store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- the processor may store the multimedia resource to a corresponding file associated with the time slice and/or the timestamp. Specifically, the processor may store the multimedia resource to the corresponding file based on a relation between the time slice and the preset time slice.
- T1 time slice of both audio resource A and video resource B are recorded as T1 which corresponds to the preset time slice T1.
- the processor may store the audio resource A and the video resource B to the file corresponding to the preset time slice T1, respectively.
- the processor may further synthesize the audio resource A and the video resource B stored in the file corresponding to the preset time slice T1 so as to keep time synchronization of the audio resource A and the video resource B.
- the start time of the N-th time slice be t N , where N is a positive integer that is greater than or equal to 1.
- the time length of the time slice is d.
- the start time may be designated as the name of the N-th time slice, that is t N .
- the timestamp of the multimedia resource may also be determined as t N if the current time slice of the multimedia resource corresponds to the time slice t N .
- the multiple multimedia resources may include the audio resources, the video resources, the picture resources, or the like, or any combination thereof.
- the processor in the process of synthesizing the multiple multimedia resources, may designate the time slice corresponding to each multimedia resource as the timestamp of the each resource. The processor may further synthesize the multiple multimedia resources that have the same timestamp so as to achieve the time synchronization of multimedia resource synthesis.
- the processor may determine a plurality of preset time slices based on a time sequence (e.g., the preset time slice 410 as shown in FIG. 4) . For example, 10:00 ⁇ 10: 30 may be preset as a first preset time slice, 10: 30 ⁇ 11: 00 may be preset as a second preset time slice.
- the processor may store the plurality of preset time slices to the storage medium (e.g., the computer storing device 300) .
- each of the plurality of preset time slices may be named after the start time of the preset time slice.
- the corresponding file of each preset time slice may also be named after the start time of the preset time slice.
- the plurality of preset time slices may correspond to the time slices associated with the files that are used to store the multimedia resources.
- Each of the plurality of preset time slices may be named after the start time of the preset time slices, and arranged in the time sequence.
- the preset time slice may include a preset time duration of the preset time slice (e.g., the time duration L illustrated in FIG. 4) .
- the processor may generate a plurality of files for storing the multimedia resource that satisfies the preset time slice. The corresponding file may be named after the start time of the preset time slice.
- the start time of the N-th preset time slice be T N , where N is a positive integer that is greater than or equal to 1.
- the time duration of the preset time slice T N is L.
- the name of the preset time slice may be denoted as T N . If a time slice of the multimedia resource to be stored satisfies the preset time slice T N , that is, the start time of the time slice of the multimedia resource is T N , the processor may store the multimedia resource to the corresponding file that is named after the start time of the preset time slice. In other words, the name of the corresponding file for storing the multimedia resource is also designated as T N .
- the processor may determine whether the time slice of the multimedia resource matches the preset time slice. In response to a determination that the time slice of the multimedia resource does not match the preset time slice, the processor may designate the name of the file storing the multimedia resource based on the time slice of the multimedia resource.
- the processor determines that the time slice of the multimedia resource does not match the preset time slice.
- the processor may designate the start time of the time slice of the multimedia resource, i.e., the start time of the time slice of to which the multimedia resource belonging, as the name of the file storing the multimedia resource.
- the name of the corresponding storage file may correspond to the time slice of the multimedia resource, and be a timestamp for storing the multimedia resource.
- the processor may synthesize the multimedia resources that are stored in the files having the same name. It should be understood that the same file name may indicate the multimedia resources having the same time slice and/or timestamp.
- the processor determines that the time slice of the multimedia resource matches the preset time slice.
- the processor may determine a time length between the start time of the time slice of the multimedia resource and a storage time.
- the storage time may refer to the time when the processor decides to store the multimedia resource.
- the processor may further store the multimedia resource to the corresponding file based on the time length to improve the synchronization of multimedia resource synthesis.
- the processor may determine whether the time length is greater than or equal to a duration of the preset time slice. In response to the determination that the time length is greater than or equal to the duration of the preset time slice, the processor may store the multimedia resource to a file corresponding to a second preset time slice.
- the second preset time slice may be a next time slice adjacent to the preset time slice.
- the processor may store the multimedia resource to the corresponding file corresponding to the preset time slice.
- the processor may determine that the time slice of the multimedia resource matches the first preset time slice. If d1 is less than L1, in this case, the storage space of the first file corresponding to the first preset time slice may be enough to store the current multimedia resource.
- the processor may store the current multimedia resource to the first file corresponding to the first preset time slice.
- the name of the first preset time slice that is, the start time of the first preset time slice, may be designated as the name of the first file.
- the storage space of the first file corresponding to the first preset time slice may be not enough to store the current multimedia resource.
- the processor may need the second file to store the multimedia resource.
- the second file may refer to a file corresponding to the second preset time slice, and the second preset time slice may be the next time slice adjacent to the first preset time slice.
- the processor in the process of storing the multimedia resource to the second file corresponding to the second preset time slice, may start a thread synchronization lock.
- the processor may subsequently designate the storage time of the multimedia resource as the name of the second preset time slice.
- the storage time may be different from the start time of the second preset time slice.
- the processor may modify the name of second preset time slice from the original start time to the current storage time.
- the processor may further designate the name of the second preset time slice as the name of the second file, that is, the storage time.
- the multimedia resource may be stored to the second file. It should be understood that the thread synchronization lock may reduce a conflict of the data storage thread.
- the processor may further synthesize the multiple multimedia resources having the same timestamp, which may achieve the time synchronization of multimedia resource synthesis. For example, the processor may obtain the multiple multimedia resources from one or more files having the same name, and synthesize the one or more multimedia resources.
- FIG. 2 is a block diagram illustrating an exemplary device for storing multimedia resources according to some embodiments of the present disclosure.
- multimedia resource storing device 200 may include at least one processing device to perform exemplary processes or methods described in the present disclosure (e.g., the process 100 illustrated in FIG. 1) .
- the at least one processing device may be in communication with a computer-readable storage medium and may execute instructions stored in the computer-readable storage medium to perform the exemplary processes or methods described in the present disclosure (e.g., the process 100 illustrated in FIG. 1) .
- the computer-readable storage medium may be integrated to the multimedia resource storing device 200.
- the computer-readable storage medium may separate from the multimedia resource storing device 200.
- the multimedia resource storing device 200 may include the at least one processing device including a determination unit 202, a storing unit 204, a judging unit 206, a computing unit 208, and a controlling unit 210.
- the determination unit 202 may be configured to determine a time slice of the multimedia resource having a specified format in real time during the storing of the multimedia resource.
- the specified format may include but not limited to a digital image format, an audio format, or a video format.
- Exemplary digital image format may include bmp, jpg, png, tiff, gif, pcx, tga, exif, fpx, fvg, ps, or the like, or any combination thereof.
- Exemplary audio file format may include CD, WAVE, AIFF, AU, MP3, MIDI, WAM, RealAudio, VQF, OggVorbits, AAC, AP, or the like, or any combination thereof.
- Exemplary video file format may include MPEG, MPG, DAT, MP4, or the like, or any combination thereof.
- the storing unit 204 may be configured to store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- the processor may store the multimedia resource to a corresponding file associated with the time slice. Specifically, the processor may store the multimedia resource to the corresponding file based on a relation between the time slice and a preset time slice.
- the start time of the N-th time slice be t N , where N is a positive integer that is greater than or equal to 1.
- the time length of the time slice is d.
- the start time may be designated as the name of the N-th time slice, that is t N .
- a timestamp of the multimedia resource may be determined as t N if current time slice of the multimedia resource corresponds to the time slice t N .
- the multiple multimedia resources may include the audio resources, the video resources, the picture resources, or the like, or any combination thereof.
- the processor may designate the time slice corresponding to each multimedia resource as the timestamp of the each resource.
- the processor may further synthesize the multiple multimedia resources that have the same timestamp so as to achieve the time synchronization of multimedia resource synthesis.
- the storing unit 204 may be further configured to determine a plurality of preset time slices based on a time sequence (e.g., the preset time slice 410 as shown in FIG. 4) .
- a time sequence e.g., the preset time slice 410 as shown in FIG. 4
- 10: 00 ⁇ 10: 30 may be preset as a first preset time slice
- 10: 30 ⁇ 11: 00 may be preset as a second preset time slice
- the storing unit 204 may store the plurality of preset time slices to a storage medium (e.g., the computer storing device 300) .
- each of the plurality of preset time slices may be named after the start time of the preset time slice.
- the corresponding file of each preset time slices may also be named after the start time of the preset time slice.
- the start time of the N-th preset time slice is T N , where N is a positive integer that is greater than or equal to 1.
- the time duration of the preset time slice T N is L.
- the name of the preset time slice may be denoted as T N . If a time slice of the multimedia resource to be stored satisfies the preset time slice T N , that is, the start time of the time slice of the multimedia resource is T N , the processor may store the multimedia resource to the corresponding file that is named after the start time of the preset time slice. In other words, the name of the corresponding file for storing the multimedia resource is also designated as T N .
- the judging unit 206 may be configured to determine whether the time slice of the multimedia resource matches the preset time slice. In response to a determination that the time slice of the multimedia resource does not match the preset time slice, the determination unit 202 may designate the name of the file storing the multimedia resource based on the time slice of the multimedia resource. Merely for illustration, when the start time of the time slice of the multimedia resource is not the same as the start time of the preset time slice, the judging unit 206 determines that the time slice of the multimedia resource does not match the preset time slice.
- the determination unit 202 may designate the start time of the time slice of the multimedia resource, i.e., the start time of the time slice of to which the multimedia resource belonging, as the name of the file storing the multimedia resource.
- the name of the corresponding storage file may correspond to the time slice of the multimedia resource, and be a timestamp for storing the multimedia resource.
- a processor may synthesize the multimedia resources that are stored in the files having the same name. It should be understood that the same file name may indicate the multimedia resources having the same time slice and/or timestamp.
- the judging unit 206 determines that the time slice of the multimedia resource matches the preset time slice.
- the computing unit 208 may be further configured to determine a time length between the start time of the time slice of the multimedia resource and a storage time.
- the storage time may refer to the time when the processor decides to store the multimedia resource.
- the storing unit 204 may further store the multimedia resource to the corresponding file based on the time length to improve the synchronization of multimedia resource synthesis.
- the judging unit 206 may determine whether the time length is greater than or equal to a duration of the preset time slice. In response to the determination that the time length is greater than or equal to the duration of the preset time slice, the storing unit 204 may store the multimedia resource to a file corresponding to a second preset time slice. The second preset time slice may be a next time slice adjacent to the preset time slice. In response to a determination that the time length is less than the duration of the preset time slice, the storing unit 204 may store the multimedia resource to the corresponding file corresponding to the preset time slice.
- the time length of the time slice of the current multimedia resource is d1
- the time length of a first preset time slice is L1.
- the start time of both the time slice of the current multimedia resource and the first preset time slice are the same.
- the judging unit 206 may determine that the time slice of the multimedia resource matches the first preset time slice. If d1 is less than L1, in this case, the storage space of the first file corresponding to the first preset time slice may be enough to store the current multimedia resource.
- the storing unit 204 may store the current multimedia resource to the first file corresponding to the first preset time slice.
- the name of the first preset time slice that is, the start time of the first preset time slice, may be designated as the name of the first file.
- the storage space of the first file corresponding to the first preset time slice may be not enough to store the current multimedia resource.
- the storing unit 204 may need the second file to store the multimedia resource.
- the second file may refer to a file corresponding to the second preset time slice, and the second preset time slice may be the next time slice adjacent to the first preset time slice.
- the controlling unit 210 may start a thread synchronization lock.
- the determination unit 202 may subsequently designate the storage time of the multimedia resource as the name of the second preset time slice. In some embodiments, the storage time may be different from the start time of the second preset time slice.
- the determination unit 202 may modify the name of second preset time slice from the original start time to the current storage time. In some embodiments, the determination unit 202 may further designate the name of the second preset time slice as the name of the second file, that is, the storage time.
- the multimedia resource may be stored to the second file. It should be understood that the thread synchronization lock may reduce a conflict of the data storage thread.
- the descriptions above in relation to the at least one processing device is provided for the purposes of illustration, and not intended to limit the scope of the present disclosure.
- various variations and modifications may be conducted under the guidance of the present disclosure.
- the judging unit 206 and the computing unit 208 may be integrated to a single unit. However, those variations and modifications do not depart the scope of the present disclosure.
- FIG. 3 is a block diagram illustrating an exemplary storage device according to some embodiments of the present disclosure.
- a computer storing device 300 may at least include the multimedia resource storing device 200 illustrated in FIG. 2.
- the determination unit 202, the storing unit 204, the judging unit 206, the computing unit 208, and the controlling unit 210 in the multimedia resource storing device 200 may include at least one of a central processor unit (CPU) , a digital signal processor (DSP) , a programmable logic controller (PLC) , or the like, or any combination thereof.
- the computer storage device 300 may be configured to process the multimedia resources, such as, recording, synthesizing, or playing the multimedia resources.
- FIG. 4 is a schematic diagram illustrating an exemplary scheme for storing multimedia resources according to some embodiments of the present disclosure.
- reference numeral 410 denotes a plurality of preset time slices.
- the storing unit 204 generates and stores the plurality of preset time slices based on a time sequence.
- the start time of the N-th preset time slice may be T N , where N is a positive integer that is greater than or equal to 1.
- the time duration of the preset time slice may be equal to L.
- the preset time slice may be named after the start time of the preset time slice itself, such as, T 1 , T 2 , ..., T N .
- the time duration of each of the plurality of the preset time slices 410 may be equal, or the time duration of a portion of the plurality of the preset time slices 410 may be equal.
- each multimedia resource may be loaded to a single thread operation.
- reference numeral 420 denotes an audio resource
- reference numeral 430 denotes a video resource.
- the audio resource 420 may be load to a first thread for storing the audio resource
- the video resource 430 may be load to a second thread for storing the video resource.
- the first thread may be independent from the second thread.
- the audio resource 420 may be divided to a plurality of time slices, such as, t 11 , t 12 , ..., t 1N .
- each time slice may be named after its own start time.
- the time length of the time slice regarding the audio resource 420 may be equal to d.
- the processor may determine whether the time slice of the audio resource 420 matches a preset time slice. In some embodiments, if the time slice of the audio resource does not match the preset time slice, for example, t 11 is not the same as T 1 , the processor may store the audio resource corresponding to the time slice t 11 to a first file.
- the first file may be named after the start time of the time slice t 11 , that is, t 11 .
- the processor may store the audio resources associated with other time slices to corresponding files.
- the processor may further determine whether the time length of the time slice (i.e., d) is greater than or equal to the duration of the preset time slice (i.e., L) . If d is less than L, the processor may store the audio resource corresponding to the time slice t 11 to a file corresponding to the preset time slice T 1 .
- the processor may store the audio resource corresponding to the time slice t 11 to a file associated with the next time slice adjacent to the first preset time slice (e.g., the file corresponding to the preset time slice T 2 ) .
- the video resource 430 may be divided to a plurality of time slices, such as, t 21 , t 22 , ..., t 2N .
- the processor may store the video resource 430 corresponding to each of the plurality of time slices to the corresponding file based on the relation of the time slice and the preset time slice.
- the plurality of preset time slices 410 may be preset.
- the duration of each preset time slice may be preset as an equal time length, L.
- the audio resource 420 and the video resource 430 may be divided to the plurality of time slices respectively based on the plurality of preset time slices.
- the audio resource 420 may be divided to the first plurality of time slices that are the same as the plurality of preset time slices.
- Each of the first plurality of time slices of the audio resource 420 corresponds to the preset time slice 410.
- the video resource 430 may be divided to the second plurality of time slices that correspond to the plurality of preset time slices 410.
- Each of the second plurality of time slices of the video resource 430 corresponds to the preset time slice 410.
- the audio resource 420 and the video resource 430 may be stored to the file corresponding to the preset time slice respectively.
- the audio resource 420 and the video resource 430 may be synthesized based on the time slice which the audio resource and the video resource belongs to.
- the processor may synthesize the audio resource 420 and the video resource 430 that belong to the same time slice so as to achieve the time synchronization of multimedia resource synthesis.
- a non-transitory computer readable medium may be provided for storing one or more multimedia resources.
- the non-transitory computer readable medium may include at least one set of instructions for storing the one or more multimedia resources.
- the at least one processor may determine a time slice of the multimedia resource having a specified format in real time during storing the multimedia resource.
- the at least one processor may store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice. More descriptions about the storing the one or more multimedia resources may be found elsewhere in the present disclosure (e.g., FIGs. 1-2, and the descriptions thereof) , and not described repeatedly.
- aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a “unit, ” “module, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python, or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS) .
- LAN local area network
- WAN wide area network
- SaaS Software as a Service
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A system and a method for storing a multimedia resource are provided. The method may include determining a time slice of the multimedia resource having a specified format in real time. The method may further include storing the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority of Chinese Patent Application No. 201810322229.5, filed on April 11, 2018, the entire contents of which are hereby incorporated by reference.
The present disclosure generally relates to data storage technology, and in particular, relates to systems and methods for storing multimedia resources.
In the digital age, various multimedia resources may be provided to people for meeting various needs, such as entertainment, work, etc. In some cases, the multimedia resources may be stored in a digital device. For example, videos and audios may be recorded by an automobile data recorder, videos, photos and audios may be recorded by a monitor, or by other home appliances via smart home application. During the data storage, a thread for storing the multimedia resource may be executed. Each thread may be independent. However, when multiple multimedia resources need to be stored at the same time, these multimedia resources may not have the same timestamp corresponding to the storage time, which may cause disorder when coming to synchronous synthesis of them. Therefore, it is desirable to develop systems and methods for storing the multiple multimedia resources so as to achieve the time synchronization of multimedia resource synthesis.
SUMMARY
According to an aspect of the present disclosure, a method is provided. The method may include one or more of the following operations. At least one processor may determine a time slice of the multimedia resource having a specified format in real time. The at least one processor may store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
In some embodiments, the at least one processor may determine a plurality of preset time slices based on a time sequence, and store the plurality of preset time slices. Each of the plurality of preset time slices and the corresponding file may be named after a start time of the preset time slice.
In some embodiments, the at least one processor may determine whether the time slice of the multimedia resource matches the preset time slice. In response to a determination that the time slice of the multimedia resource does not match the preset time slice, the at least one processor may designate a name of the file storing the multimedia resource based on the time slice of the multimedia resource.
In some embodiments, the at least one processor may determine whether the time slice of the multimedia resource matches the preset time slice. In response to a determination that the time slice of the multimedia resource matches the preset time slice, the at least one processor may determine a time length between a start time of the time slice of the multimedia resource and a storage time, and store the multimedia resource to the corresponding file based on the time length.
In some embodiments, the at least one processor may determine whether the time length is greater than or equal to a duration of the preset time slice. In response to a determination that the time length is greater than or equal to the duration of the preset time slice, the at least one processor may store the multimedia resource to a file corresponding to a second preset time slice. The second preset time slice may be a next time slice adjacent to the preset time slice. In response to a determination that the time length is less than the duration of the preset time slice, the at least one processor may store the multimedia resource to the corresponding file corresponding to the preset time slice.
In some embodiments, the at least one processor may start a thread synchronization lock. The at least one processor may subsequently designate the storage time of the multimedia resource as the name of the second preset time slice, and designate the name of the second preset time slice as the name of the file.
In some embodiments, the multimedia resource may include at least one of a digital image format, an audio format, or a video format.
According to another aspect of the present disclosure, a system is provided. The system may include at least one storage device, at least one processor in communication with the at least one storage device. The at least one storage device may include one or more sets of instructions. When executing the one or more sets of instructions, the at least one processor may determine a time slice of the multimedia resource having a specified format in real time, and store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
According to another aspect of the present disclosure, a device is provided. The device may at least include a determination unit for determining a time slice of the multimedia resource having a specified format in real time, and a storing unit for storing the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
According to another aspect of the present disclosure, a non-transitory computer readable medium is provided. The non-transitory computer readable medium may comprise executable instructions that cause at least one processor to effectuate a method. The method may include one or more of the following operations. At least one processor may determine a time slice of the multimedia resource having a specified format in real time. The at least one processor may store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
Additional features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the examples. The features of the present disclosure may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities, and combinations set forth in the detailed examples discussed below.
The present disclosure is further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals present similar structures throughout the several views of the drawings, and wherein:
FIG. 1 is a flowchart illustrating an exemplary process for storing multimedia resources according to some embodiments of the present disclosure;
FIG. 2 is a block diagram illustrating an exemplary device for storing multimedia resources according to some embodiments of the present disclosure;
FIG. 3 is a block diagram illustrating an exemplary computer storage device according to some embodiments of the present disclosure; and
FIG. 4 is a schematic diagram illustrating an exemplary scheme for storing multimedia resources according to some embodiments of the present disclosure.
The following description is presented to enable any person skilled in the art to make and use the present disclosure, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is not limited to the em bodiments shown, but is to be accorded the widest scope consistent with the claims.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a, ” “an, ” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises, ” “comprising, ” “includes, ” and/or “including” when used in this disclosure, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a, ” “an, ” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises, ” “comprising, ” “includes, ” and/or “including” when used in this disclosure, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It will be understood that the term “system, ” “module, ” and/or “block” used herein are one method to distinguish different components, elements, parts, section or assembly of different level in ascending order. However, the terms may be displaced by another expression if they achieve the same purpose.
The term “module, ” or “block, ” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions. A module or a block described herein may be implemented as software and/or hardware and may be stored in any type of non-transitory computer-readable medium or another storage device. In some embodiments, a software module/unit/block may be compiled and linked into an executable program. It will be appreciated that software modules can be callable from other modules/units/blocks or themselves, and/or may be invoked in response to detected events or interrupts. Software modules/units/blocks configured for execution on computing devices (e.g., the multimedia resource storing device 200 as illustrated in FIG. 2) may be provided on a computer-readable medium, such as a compact disc, a digital video disc, a flash drive, a magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that needs installation, decompression, or decryption prior to execution) . Such software code may be stored, partially or fully, on a storage device of the executing computing device, for execution by the computing device. Software instructions may be embedded in firmware, such as an Electrically Programmable Read-Only-Memory (EPROM) . It will be further appreciated that hardware modules/units/blocks may be included in connected logic components, such as gates and flip-flops, and/or can be included in programmable units, such as programmable gate arrays or processors. The modules/units/blocks or computing device functionality described herein may be implemented as software modules/units/blocks but may be represented in hardware or firmware. In general, the modules/units/blocks described herein refer to logical modules/units/blocks that may be combined with other modules/units/blocks or divided into sub-modules/sub-units/sub-blocks despite their physical organization or storage. The description may apply to a system, an engine, or a portion thereof.
It will be understood that when a module or block is referred to as being “connected to, ” or “coupled to, ” another module, or block, it may be directly connected or coupled to, or communicate with the other module, or block, or an intervening unit, engine, module, or block may be present, unless the context clearly indicates otherwise. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
These and other features, and characteristics of the present disclosure, as well as the methods of operations and functions of the related elements of structure and the combination of parts and economies of manufacture, may become more apparent upon consideration of the following description with reference to the accompanying drawing (s) , all of which form part of this specification. It is to be expressly understood, however, that the drawing (s) are for the purpose of illustration and description only and are not intended to limit the scope of the present disclosure. It is understood that the drawings are not to scale.
The flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood, the operations of the flowcharts may be implemented not in order. Conversely, the operations may be implemented in inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
FIG. 1 is a flowchart illustrating an exemplary process for storing multimedia resources according to some embodiments of the present disclosure. In some embodiments, process 100 for storing the multimedia resources may be implemented by a multimedia resource storing device (e.g., a multimedia resource storing device 200 shown in FIG. 2) . In some embodiments, the process 100 may also be implemented as one or more instructions stored in a storage medium and called and/or executed by a processor (e.g., a processor of the multimedia resource storing device 200) . The operations of the illustrated process presented below are intended to be illustrative. In some embodiments, the process 100 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 100 as illustrated in FIG. 1 and described below is not intended to be limiting.
In 102, during storing the multimedia resource, the processor may determine a time slice of the multimedia resource having a specified format in real time.
In some embodiments, the specified format may include but not limited to a digital image format, an audio format, or a video format. Exemplary digital image format may include bmp, jpg, png, tiff, gif, pcx, tga, exif, fpx, fvg, ps, or the like, or any combination thereof. Exemplary audio file format may include CD, WAVE, AIFF, AU, MP3, MIDI, WAM, RealAudio, VQF, OggVorbits, AAC, AP, or the like, or any combination thereof. Exemplary video file format may include MPEG, MPG, DAT, MP4, or the like, or any combination thereof.
In 104, the processor may store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
In some embodiments, during the storing the multimedia resource in real time, multiple multimedia resources need to be synchronized based on the time slice (s) . The time slice may be designated as a timestamp associated with the multimedia resource to be stored. The processor may store the multimedia resource to a corresponding file associated with the time slice and/or the timestamp. Specifically, the processor may store the multimedia resource to the corresponding file based on a relation between the time slice and the preset time slice. Merely for illustration, assuming that a camera needs to record an audio resource A and a video resource B synchronously, the time slice of both audio resource A and video resource B are recorded as T1 which corresponds to the preset time slice T1. The processor may store the audio resource A and the video resource B to the file corresponding to the preset time slice T1, respectively. In some embodiments, the processor may further synthesize the audio resource A and the video resource B stored in the file corresponding to the preset time slice T1 so as to keep time synchronization of the audio resource A and the video resource B.
For example, let the start time of the N-th time slice be t
N, where N is a positive integer that is greater than or equal to 1. The time length of the time slice is d. The start time may be designated as the name of the N-th time slice, that is t
N. In some embodiments, because the multimedia resource may be stored in accordance with each time slice, the timestamp of the multimedia resource may also be determined as t
N if the current time slice of the multimedia resource corresponds to the time slice t
N.
It may be beneficial to improve synthetic accuracy of the multiple multimedia resources based on the determined time slice in real time which each of multiple multimedia resources belongs to. The multiple multimedia resources may include the audio resources, the video resources, the picture resources, or the like, or any combination thereof. In some embodiments, in the process of synthesizing the multiple multimedia resources, the processor may designate the time slice corresponding to each multimedia resource as the timestamp of the each resource. The processor may further synthesize the multiple multimedia resources that have the same timestamp so as to achieve the time synchronization of multimedia resource synthesis.
In some embodiments, prior to the storing the multimedia resource, the processor may determine a plurality of preset time slices based on a time sequence (e.g., the preset time slice 410 as shown in FIG. 4) . For example, 10:00~10: 30 may be preset as a first preset time slice, 10: 30~11: 00 may be preset as a second preset time slice. The processor may store the plurality of preset time slices to the storage medium (e.g., the computer storing device 300) . In some embodiments, each of the plurality of preset time slices may be named after the start time of the preset time slice. In some embodiments, the corresponding file of each preset time slice may also be named after the start time of the preset time slice.
In some embodiments, the plurality of preset time slices may correspond to the time slices associated with the files that are used to store the multimedia resources. Each of the plurality of preset time slices may be named after the start time of the preset time slices, and arranged in the time sequence. In some embodiments, the preset time slice may include a preset time duration of the preset time slice (e.g., the time duration L illustrated in FIG. 4) . In some embodiments, the processor may generate a plurality of files for storing the multimedia resource that satisfies the preset time slice. The corresponding file may be named after the start time of the preset time slice.
For example, let the start time of the N-th preset time slice be T
N, where N is a positive integer that is greater than or equal to 1. The time duration of the preset time slice T
N is L. The name of the preset time slice may be denoted as T
N. If a time slice of the multimedia resource to be stored satisfies the preset time slice T
N, that is, the start time of the time slice of the multimedia resource is T
N, the processor may store the multimedia resource to the corresponding file that is named after the start time of the preset time slice. In other words, the name of the corresponding file for storing the multimedia resource is also designated as T
N.
In some embodiments, the processor may determine whether the time slice of the multimedia resource matches the preset time slice. In response to a determination that the time slice of the multimedia resource does not match the preset time slice, the processor may designate the name of the file storing the multimedia resource based on the time slice of the multimedia resource. Merely for illustration, when the start time of the time slice of the multimedia resource is not the same as the start time of the preset time slice, the processor determines that the time slice of the multimedia resource does not match the preset time slice. In the case, the processor may designate the start time of the time slice of the multimedia resource, i.e., the start time of the time slice of to which the multimedia resource belonging, as the name of the file storing the multimedia resource. Thus, the name of the corresponding storage file may correspond to the time slice of the multimedia resource, and be a timestamp for storing the multimedia resource. To guarantee the time synchronization of the multimedia resources when the processor synthesizes multiple multimedia resources, the processor may synthesize the multimedia resources that are stored in the files having the same name. It should be understood that the same file name may indicate the multimedia resources having the same time slice and/or timestamp.
In some embodiments, when the start time of the time slice of the multimedia resource is the same as the start time of the preset time slice, the processor determines that the time slice of the multimedia resource matches the preset time slice. In response to the determination that the time slice of the multimedia resource matches the preset time slice, the processor may determine a time length between the start time of the time slice of the multimedia resource and a storage time. The storage time may refer to the time when the processor decides to store the multimedia resource. The processor may further store the multimedia resource to the corresponding file based on the time length to improve the synchronization of multimedia resource synthesis.
Specifically, the processor may determine whether the time length is greater than or equal to a duration of the preset time slice. In response to the determination that the time length is greater than or equal to the duration of the preset time slice, the processor may store the multimedia resource to a file corresponding to a second preset time slice. The second preset time slice may be a next time slice adjacent to the preset time slice. In response to a determination that the time length is less than the duration of the preset time slice, the processor may store the multimedia resource to the corresponding file corresponding to the preset time slice.
For example, assuming that the time length of the time slice of the current multimedia resource is d1, and the time length of a first preset time slice is L1. The start time of both the time slice of the current multimedia resource and the first preset time slice are the same. In other words, the processor may determine that the time slice of the multimedia resource matches the first preset time slice. If d1 is less than L1, in this case, the storage space of the first file corresponding to the first preset time slice may be enough to store the current multimedia resource. The processor may store the current multimedia resource to the first file corresponding to the first preset time slice. The name of the first preset time slice, that is, the start time of the first preset time slice, may be designated as the name of the first file. If d1 is greater than or equal to L1, in this case, the storage space of the first file corresponding to the first preset time slice may be not enough to store the current multimedia resource. The processor may need the second file to store the multimedia resource. The second file may refer to a file corresponding to the second preset time slice, and the second preset time slice may be the next time slice adjacent to the first preset time slice.
In some embodiments, in the process of storing the multimedia resource to the second file corresponding to the second preset time slice, the processor may start a thread synchronization lock. The processor may subsequently designate the storage time of the multimedia resource as the name of the second preset time slice. In some embodiments, the storage time may be different from the start time of the second preset time slice. The processor may modify the name of second preset time slice from the original start time to the current storage time. In some embodiments, the processor may further designate the name of the second preset time slice as the name of the second file, that is, the storage time. The multimedia resource may be stored to the second file. It should be understood that the thread synchronization lock may reduce a conflict of the data storage thread.
In some embodiments, the processor may further synthesize the multiple multimedia resources having the same timestamp, which may achieve the time synchronization of multimedia resource synthesis. For example, the processor may obtain the multiple multimedia resources from one or more files having the same name, and synthesize the one or more multimedia resources.
FIG. 2 is a block diagram illustrating an exemplary device for storing multimedia resources according to some embodiments of the present disclosure. As shown in FIG. 2, multimedia resource storing device 200 may include at least one processing device to perform exemplary processes or methods described in the present disclosure (e.g., the process 100 illustrated in FIG. 1) . In some embodiments, the at least one processing device may be in communication with a computer-readable storage medium and may execute instructions stored in the computer-readable storage medium to perform the exemplary processes or methods described in the present disclosure (e.g., the process 100 illustrated in FIG. 1) . In some embodiments, the computer-readable storage medium may be integrated to the multimedia resource storing device 200. In some embodiments, the computer-readable storage medium may separate from the multimedia resource storing device 200. As shown in FIG. 2, the multimedia resource storing device 200 may include the at least one processing device including a determination unit 202, a storing unit 204, a judging unit 206, a computing unit 208, and a controlling unit 210.
In some embodiments, the determination unit 202 may be configured to determine a time slice of the multimedia resource having a specified format in real time during the storing of the multimedia resource.
In some embodiments, the specified format may include but not limited to a digital image format, an audio format, or a video format. Exemplary digital image format may include bmp, jpg, png, tiff, gif, pcx, tga, exif, fpx, fvg, ps, or the like, or any combination thereof. Exemplary audio file format may include CD, WAVE, AIFF, AU, MP3, MIDI, WAM, RealAudio, VQF, OggVorbits, AAC, AP, or the like, or any combination thereof. Exemplary video file format may include MPEG, MPG, DAT, MP4, or the like, or any combination thereof.
In some embodiments, the storing unit 204 may be configured to store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
In some embodiments, during the storing the multimedia resource in real time, multiple multimedia resources need to be synchronized based on the time slice (s) . The time slice may be designated as a timestamp associated with the multimedia resource to be stored. The processor may store the multimedia resource to a corresponding file associated with the time slice. Specifically, the processor may store the multimedia resource to the corresponding file based on a relation between the time slice and a preset time slice.
For example, let the start time of the N-th time slice be t
N, where N is a positive integer that is greater than or equal to 1. The time length of the time slice is d. The start time may be designated as the name of the N-th time slice, that is t
N. In some embodiments, because the multimedia resource may be stored in accordance with each time slice, a timestamp of the multimedia resource may be determined as t
N if current time slice of the multimedia resource corresponds to the time slice t
N.
It may be beneficial to improve synthetic accuracy of the multiple multimedia resources based on the determined time slice to which each of the multiple multimedia resources belongs. The multiple multimedia resources may include the audio resources, the video resources, the picture resources, or the like, or any combination thereof. For example, in the process of synthesizing the multiple multimedia resources, the processor may designate the time slice corresponding to each multimedia resource as the timestamp of the each resource. The processor may further synthesize the multiple multimedia resources that have the same timestamp so as to achieve the time synchronization of multimedia resource synthesis.
In some embodiments, the storing unit 204 may be further configured to determine a plurality of preset time slices based on a time sequence (e.g., the preset time slice 410 as shown in FIG. 4) . For example, 10: 00~10: 30 may be preset as a first preset time slice, 10: 30~11: 00 may be preset as a second preset time slice The storing unit 204 may store the plurality of preset time slices to a storage medium (e.g., the computer storing device 300) . In some embodiments, each of the plurality of preset time slices may be named after the start time of the preset time slice. In some embodiments, the corresponding file of each preset time slices may also be named after the start time of the preset time slice.
For example, assuming that the start time of the N-th preset time slice is T
N, where N is a positive integer that is greater than or equal to 1. The time duration of the preset time slice T
N is L. The name of the preset time slice may be denoted as T
N. If a time slice of the multimedia resource to be stored satisfies the preset time slice T
N, that is, the start time of the time slice of the multimedia resource is T
N, the processor may store the multimedia resource to the corresponding file that is named after the start time of the preset time slice. In other words, the name of the corresponding file for storing the multimedia resource is also designated as T
N.
In some embodiments, the judging unit 206 may be configured to determine whether the time slice of the multimedia resource matches the preset time slice. In response to a determination that the time slice of the multimedia resource does not match the preset time slice, the determination unit 202 may designate the name of the file storing the multimedia resource based on the time slice of the multimedia resource. Merely for illustration, when the start time of the time slice of the multimedia resource is not the same as the start time of the preset time slice, the judging unit 206 determines that the time slice of the multimedia resource does not match the preset time slice. In the case, the determination unit 202 may designate the start time of the time slice of the multimedia resource, i.e., the start time of the time slice of to which the multimedia resource belonging, as the name of the file storing the multimedia resource. Thus, the name of the corresponding storage file may correspond to the time slice of the multimedia resource, and be a timestamp for storing the multimedia resource. To guarantee the time synchronization of multimedia resources when the processor synthesizes multiple multimedia resources, a processor may synthesize the multimedia resources that are stored in the files having the same name. It should be understood that the same file name may indicate the multimedia resources having the same time slice and/or timestamp.
In some embodiments, when the start time of the time slice of the multimedia resource is the same as the start time of the preset time slice, the judging unit 206 determines that the time slice of the multimedia resource matches the preset time slice. In response to the determination that the time slice of the multimedia resource matches the preset time slice, the computing unit 208 may be further configured to determine a time length between the start time of the time slice of the multimedia resource and a storage time. The storage time may refer to the time when the processor decides to store the multimedia resource. The storing unit 204 may further store the multimedia resource to the corresponding file based on the time length to improve the synchronization of multimedia resource synthesis.
Specifically, the judging unit 206 may determine whether the time length is greater than or equal to a duration of the preset time slice. In response to the determination that the time length is greater than or equal to the duration of the preset time slice, the storing unit 204 may store the multimedia resource to a file corresponding to a second preset time slice. The second preset time slice may be a next time slice adjacent to the preset time slice. In response to a determination that the time length is less than the duration of the preset time slice, the storing unit 204 may store the multimedia resource to the corresponding file corresponding to the preset time slice.
For example, assuming that the time length of the time slice of the current multimedia resource is d1, and the time length of a first preset time slice is L1. The start time of both the time slice of the current multimedia resource and the first preset time slice are the same. In other words, the judging unit 206 may determine that the time slice of the multimedia resource matches the first preset time slice. If d1 is less than L1, in this case, the storage space of the first file corresponding to the first preset time slice may be enough to store the current multimedia resource. The storing unit 204 may store the current multimedia resource to the first file corresponding to the first preset time slice. The name of the first preset time slice, that is, the start time of the first preset time slice, may be designated as the name of the first file. If d1 is greater than or equal to L1, in this case, the storage space of the first file corresponding to the first preset time slice may be not enough to store the current multimedia resource. The storing unit 204 may need the second file to store the multimedia resource. The second file may refer to a file corresponding to the second preset time slice, and the second preset time slice may be the next time slice adjacent to the first preset time slice.
In some embodiments, in the process of storing the multimedia resource to the second file corresponding to the second preset time slice, the controlling unit 210 may start a thread synchronization lock. The determination unit 202 may subsequently designate the storage time of the multimedia resource as the name of the second preset time slice. In some embodiments, the storage time may be different from the start time of the second preset time slice. The determination unit 202 may modify the name of second preset time slice from the original start time to the current storage time. In some embodiments, the determination unit 202 may further designate the name of the second preset time slice as the name of the second file, that is, the storage time. The multimedia resource may be stored to the second file. It should be understood that the thread synchronization lock may reduce a conflict of the data storage thread.
It should be noted that the descriptions above in relation to the at least one processing device is provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, various variations and modifications may be conducted under the guidance of the present disclosure. For example, the judging unit 206 and the computing unit 208 may be integrated to a single unit. However, those variations and modifications do not depart the scope of the present disclosure.
FIG. 3 is a block diagram illustrating an exemplary storage device according to some embodiments of the present disclosure. As shown in FIG. 3, a computer storing device 300 may at least include the multimedia resource storing device 200 illustrated in FIG. 2. In some embodiments, the determination unit 202, the storing unit 204, the judging unit 206, the computing unit 208, and the controlling unit 210 in the multimedia resource storing device 200 may include at least one of a central processor unit (CPU) , a digital signal processor (DSP) , a programmable logic controller (PLC) , or the like, or any combination thereof. The computer storage device 300 may be configured to process the multimedia resources, such as, recording, synthesizing, or playing the multimedia resources.
FIG. 4 is a schematic diagram illustrating an exemplary scheme for storing multimedia resources according to some embodiments of the present disclosure. As shown in FIG. 4, reference numeral 410 denotes a plurality of preset time slices. As described in connection with FIG. 2, the storing unit 204 generates and stores the plurality of preset time slices based on a time sequence. For example, the start time of the N-th preset time slice may be T
N, where N is a positive integer that is greater than or equal to 1. The time duration of the preset time slice may be equal to L. The preset time slice may be named after the start time of the preset time slice itself, such as, T
1, T
2, …, T
N. In some embodiments, the time duration of each of the plurality of the preset time slices 410 may be equal, or the time duration of a portion of the plurality of the preset time slices 410 may be equal.
In some embodiments, during storing the multimedia resources, each multimedia resource may be loaded to a single thread operation. For example, as shown in FIG. 4, reference numeral 420 denotes an audio resource, reference numeral 430 denotes a video resource. The audio resource 420 may be load to a first thread for storing the audio resource, and the video resource 430 may be load to a second thread for storing the video resource. In some embodiments, the first thread may be independent from the second thread.
Merely for illustration, during storing audio resource, the audio resource 420 may be divided to a plurality of time slices, such as, t
11, t
12, …, t
1N. In some embodiments, each time slice may be named after its own start time. The time length of the time slice regarding the audio resource 420 may be equal to d. The processor may determine whether the time slice of the audio resource 420 matches a preset time slice. In some embodiments, if the time slice of the audio resource does not match the preset time slice, for example, t
11 is not the same as T
1, the processor may store the audio resource corresponding to the time slice t
11 to a first file. The first file may be named after the start time of the time slice t
11, that is, t
11. Similarly, the processor may store the audio resources associated with other time slices to corresponding files. In some embodiments, if the time slice of the audio resource 420 matches the preset time slice, for example, t
11 is the same as T
1, the processor may further determine whether the time length of the time slice (i.e., d) is greater than or equal to the duration of the preset time slice (i.e., L) . If d is less than L, the processor may store the audio resource corresponding to the time slice t
11 to a file corresponding to the preset time slice T
1. If d is equal to or less than L, the processor may store the audio resource corresponding to the time slice t
11 to a file associated with the next time slice adjacent to the first preset time slice (e.g., the file corresponding to the preset time slice T
2) .
Similarly, during storing the video resource 430, the video resource 430 may be divided to a plurality of time slices, such as, t
21, t
22, …, t
2N. The processor may store the video resource 430 corresponding to each of the plurality of time slices to the corresponding file based on the relation of the time slice and the preset time slice.
In some embodiments, the plurality of preset time slices 410 may be preset. The duration of each preset time slice may be preset as an equal time length, L. During storing the audio resource 420 and the video resource 430 at the same time, the audio resource 420 and the video resource 430 may be divided to the plurality of time slices respectively based on the plurality of preset time slices. Merely for illustration, the audio resource 420 may be divided to the first plurality of time slices that are the same as the plurality of preset time slices. For instance, the start time of the time slice t
11 is the same as the start time of the preset time slice T
1, and the time length of the time slice t
11 is equal to the duration of the preset time slice T
1, that is, d=L. Each of the first plurality of time slices of the audio resource 420 corresponds to the preset time slice 410. Similarly, the video resource 430 may be divided to the second plurality of time slices that correspond to the plurality of preset time slices 410. Each of the second plurality of time slices of the video resource 430 corresponds to the preset time slice 410. The audio resource 420 and the video resource 430 may be stored to the file corresponding to the preset time slice respectively. In some embodiments, the audio resource 420 and the video resource 430 may be synthesized based on the time slice which the audio resource and the video resource belongs to. For example, the processor may synthesize the audio resource 420 and the video resource 430 that belong to the same time slice so as to achieve the time synchronization of multimedia resource synthesis.
A non-transitory computer readable medium may be provided for storing one or more multimedia resources. The non-transitory computer readable medium may include at least one set of instructions for storing the one or more multimedia resources. When at least one processor invokes the at least one set of instructions, the at least one processor may determine a time slice of the multimedia resource having a specified format in real time during storing the multimedia resource. The at least one processor may store the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice. More descriptions about the storing the one or more multimedia resources may be found elsewhere in the present disclosure (e.g., FIGs. 1-2, and the descriptions thereof) , and not described repeatedly.
Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications may occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested by this disclosure, and are within the spirit and scope of the exemplary embodiments of this disclosure.
Moreover, certain terminology has been used to describe embodiments of the present disclosure. For example, the terms “one embodiment, ” “an embodiment, ” and/or “some embodiments” mean that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the present disclosure.
Further, it will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a “unit, ” “module, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python, or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS) .
Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail is solely for that purpose, and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software only solution, e.g., an installation on an existing server or mobile device.
Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various embodiments. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.
Claims (22)
- A method for storing a multimedia resource, the method comprising:determining a time slice of the multimedia resource having a specified format in real time; andstoring the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- The method of claim 1, wherein the method further comprising: prior to the storing the multimedia resource,determining a plurality of preset time slices based on a time sequence; andstoring the plurality of preset time slices, wherein each of the plurality of preset time slices and the corresponding file are named after a start time of the preset time slice.
- The method of claim 2, wherein the storing the multimedia resource to a corresponding file based on the corresponding relation between the time slice and the preset time slice further includes:determining whether the time slice of the multimedia resource matches the preset time slice; andin response to a determination that the time slice of the multimedia resource does not match the preset time slice, designating a name of the file storing the multimedia resource based on the time slice of the multimedia resource.
- The method of claim 2, wherein the storing the multimedia resource to a corresponding file based on the corresponding relation between the time slice and the preset time slice further includes:determining whether the time slice of the multimedia resource matches the preset time slice;in response to a determination that the time slice of the multimedia resource matches the preset time slice, determining a time length between a start time of the time slice of the multimedia resource and a storage time; andstoring the multimedia resource to the corresponding file based on the time length.
- The method of claim 4, wherein the storing the multimedia resource to the corresponding file based on the time length further includes:determining whether the time length is greater than or equal to a duration of the preset time slice;in response to a determination that the time length is greater than or equal to the duration of the preset time slice, storing the multimedia resource to a file corresponding to a second preset time slice, the second preset time slice being a next time slice adjacent to the preset time slice; andin response to a determination that the time length is less than the duration of the preset time slice, storing the multimedia resource to the corresponding file corresponding to the preset time slice.
- The method of claim 5, wherein in response to the determination that the time length is greater than or equal to the duration of the preset time slice, the storing the multimedia resource to the file corresponding to the second preset time slice further includes:starting a thread synchronization lock;subsequently designating the storage time of the multimedia resource as the name of the second preset time slice; anddesignating the name of the second preset time slice as the name of the file.
- The method of any one of claims 1-6, wherein the multimedia resource includes at least one of a digital image format, an audio format, or a video format.
- A system for storing a multimedia resource, comprising:at least one storage device including one or more sets of instructions; andat least one processor in communication with the at least one storage device, wherein when executing the one or more sets of instructions, the at least one processor is configured to cause the system to:determine a time slice of the multimedia resource having a specified format in real time; andstore the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- The system of claim 8, wherein the at least one processor is further configured to cause the system to: prior to the storing the multimedia resource,determine a plurality of preset time slices based on a time sequence; andstore the plurality of preset time slices, wherein each of the plurality of preset time slices and the corresponding file are named after a start time of the preset time slice.
- The system of claim 9, wherein to store the multimedia resource to a corresponding file based on the corresponding relation between the time slice and the preset time slice, the at least one processor is further configured to cause the system to:determine whether the time slice of the multimedia resource matches the preset time slice; andin response to a determination that the time slice of the multimedia resource does not match the preset time slice, designate a name of the file storing the multimedia resource based on the time slice of the multimedia resource.
- The system of claim 9, wherein to store the multimedia resource to a corresponding file based on the corresponding relation between the time slice and the preset time slice, the at least one processor is further configured to cause the system to:determine whether the time slice of the multimedia resource matches the preset time slice;in response to a determination that the time slice of the multimedia resource matches the preset time slice, determine a time length between a start time of the time slice of the multimedia resource and a storage time; andstore the multimedia resource to the corresponding file based on the time length.
- The system of claim 11, wherein to store the multimedia resource to the corresponding file based on the time length, the at least one processor is further configured to cause the system to:determine whether the time length is greater than or equal to a duration of the preset time slice;in response to a determination that the time length is greater than or equal to the duration of the preset time slice, store the multimedia resource to a file corresponding to a second preset time slice, the second preset time slice being a next time slice adjacent to the preset time slice; andin response to a determination that the time length is less than the duration of the preset time slice, store the multimedia resource to the corresponding file corresponding to the preset time slice.
- The system of claim 12, wherein in response to a determination that the time length is greater than or equal to the duration of the preset time slice, to store the multimedia resource to the file corresponding to a second preset time slice, the at least one processor is further configured to cause the system to:start a thread synchronization lock;subsequently designate the storage time of the multimedia resource as the name of the second preset time slice; anddesignate the name of the second preset time slice as the name of the file.
- The system of any one of claims 8-13, wherein the multimedia resource includes at least one of a digital image format, an audio format, or a video format.
- A device for storing a multimedia resource, comprising:a determination unit for determining a time slice of the multimedia resource having a specified format in real time; anda storing unit for storing the multimedia resource to a corresponding file based on a corresponding relation between the time slice and a preset time slice.
- The device of claim 15, wherein the storing unit is further configured to:determine a plurality of preset time slices based on a time sequence; andstore the plurality of preset time slices, wherein each of the plurality of preset time slices and the corresponding file are named after a start time of the preset time slice.
- The device of claim 16, wherein the device further includes:a judging unit for determining whether the time slice of the multimedia resource matches the preset time slice; andin response to a determination that the time slice of the multimedia resource does not match the preset time slice, the determination unit is further configured to designate a name of the file storing the multimedia resource based on the time slice of the multimedia resource.
- The device of claim 16, wherein the device further includes:the judging unit for determining whether the time slice of the multimedia resource matches the preset time slice; andin response to a determination that the time slice of the multimedia resource matches the preset time slice, a computing unit for determining a time length between a start time of the time slice of the multimedia resource and a storage time; andthe storing unit is further configured to store the multimedia resource to the corresponding file based on the time length.
- The device of claim 18, whereinthe judging unit is further configured to determine whether the time length is greater than or equal to a duration of the preset time slice;in response to a determination that the time length is greater than or equal to the duration of the preset time slice, the storing unit is further configured to store the multimedia resource to a file corresponding to a second preset time slice, the second preset time slice being a next time slice adjacent to the preset time slice; andin response to a determination that the time length is less than the duration of the preset time slice, the storing unit is further configured to store the multimedia resource to the corresponding file corresponding to the preset time slice.
- The device of claim 19, wherein the device further includes:a controlling unit for starting a thread synchronization lock in response to the determination that the time length is greater than or equal to the duration of the preset time slice;the determination unit is further configured to subsequently designate the storage time of the multimedia resource as the name of the second preset time slice; andthe determination unit is further configured to designate the name of the second preset time slice as the name of the file.
- The device of any one of claims 15-20, wherein the multimedia resource includes at least one of a digital image format, an audio format, or a video format.
- A non-transitory computer readable medium, comprising at least one set of computer program for storing a multimedia resource, wherein according to the at least one set of computer program, at least one processor of a computing device executes the method of any one of claims 1-7.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SG11202004950QA SG11202004950QA (en) | 2018-04-11 | 2019-04-11 | System and method for storing multimedia resources |
| US17/067,747 US20210058682A1 (en) | 2018-04-11 | 2020-10-11 | System and method for storing multimedia resources |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810322229.5A CN110366021B (en) | 2018-04-11 | 2018-04-11 | Multimedia resource storage method, device, equipment and computer storage medium |
| CN201810322229.5 | 2018-04-11 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/067,747 Continuation US20210058682A1 (en) | 2018-04-11 | 2020-10-11 | System and method for storing multimedia resources |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019196890A1 true WO2019196890A1 (en) | 2019-10-17 |
Family
ID=68163836
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/082193 Ceased WO2019196890A1 (en) | 2018-04-11 | 2019-04-11 | System and method for storing multimedia resources |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20210058682A1 (en) |
| CN (1) | CN110366021B (en) |
| SG (1) | SG11202004950QA (en) |
| WO (1) | WO2019196890A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101420577A (en) * | 2008-11-07 | 2009-04-29 | 武汉烽火网络有限责任公司 | Storage method for multimedia data and method for accurately positioning playback position |
| CN103593376A (en) * | 2012-08-17 | 2014-02-19 | 阿里巴巴集团控股有限公司 | Method and device for collecting user behavior data |
| CN105224546A (en) * | 2014-06-04 | 2016-01-06 | 阿里巴巴集团控股有限公司 | Data storage and query method and apparatus |
| WO2016192254A1 (en) * | 2015-06-02 | 2016-12-08 | 深圳Tcl数字技术有限公司 | Method and device for online playback of network video |
| CN107657020A (en) * | 2017-09-27 | 2018-02-02 | 上海斐讯数据通信技术有限公司 | A kind of method and system of the quick identifying processing of mass small documents |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3815458B2 (en) * | 2002-12-18 | 2006-08-30 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
| CN100397861C (en) * | 2002-12-25 | 2008-06-25 | 卡西欧计算机株式会社 | Data file storage device and data file storage method |
| CN102750962B (en) * | 2012-06-11 | 2016-04-06 | 杭州海康威视数字技术股份有限公司 | A kind of back method of video file and device |
| JP2014165735A (en) * | 2013-02-26 | 2014-09-08 | Canon Inc | Recording device, recording method and program |
| CN104301649B (en) * | 2014-10-29 | 2019-08-16 | 上海斐讯数据通信技术有限公司 | A kind of method and system that video capture is stored, played |
| CN106657924A (en) * | 2017-01-16 | 2017-05-10 | 陈银芳 | Video shooting method and apparatus |
-
2018
- 2018-04-11 CN CN201810322229.5A patent/CN110366021B/en active Active
-
2019
- 2019-04-11 SG SG11202004950QA patent/SG11202004950QA/en unknown
- 2019-04-11 WO PCT/CN2019/082193 patent/WO2019196890A1/en not_active Ceased
-
2020
- 2020-10-11 US US17/067,747 patent/US20210058682A1/en not_active Abandoned
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101420577A (en) * | 2008-11-07 | 2009-04-29 | 武汉烽火网络有限责任公司 | Storage method for multimedia data and method for accurately positioning playback position |
| CN103593376A (en) * | 2012-08-17 | 2014-02-19 | 阿里巴巴集团控股有限公司 | Method and device for collecting user behavior data |
| CN105224546A (en) * | 2014-06-04 | 2016-01-06 | 阿里巴巴集团控股有限公司 | Data storage and query method and apparatus |
| WO2016192254A1 (en) * | 2015-06-02 | 2016-12-08 | 深圳Tcl数字技术有限公司 | Method and device for online playback of network video |
| CN107657020A (en) * | 2017-09-27 | 2018-02-02 | 上海斐讯数据通信技术有限公司 | A kind of method and system of the quick identifying processing of mass small documents |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110366021B (en) | 2020-12-04 |
| SG11202004950QA (en) | 2020-06-29 |
| US20210058682A1 (en) | 2021-02-25 |
| CN110366021A (en) | 2019-10-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11714654B2 (en) | Method and apparatus for stateless parallel processing of tasks and workflows | |
| US9747438B2 (en) | Enabling resource access for secure application containers | |
| US11270737B2 (en) | Systems and methods for editing a video | |
| US11153526B2 (en) | Detection of photosensitive triggers in video content | |
| US9733927B2 (en) | Detection of software or hardware incompatibilities in software packages | |
| WO2019196889A1 (en) | Systems and methods for data synchronization | |
| CN114996134B (en) | Containerized deployment method, electronic device, and storage medium | |
| CN112346761B (en) | Front-end resource online method, device, system and storage medium | |
| CN114996667A (en) | Cross-device access control method, related device and system | |
| US10198784B2 (en) | Capturing commands in a multi-engine graphics processing unit | |
| US20210058682A1 (en) | System and method for storing multimedia resources | |
| CN107239343B (en) | Data processing method and device | |
| US20180357006A1 (en) | Data Processing Method, Allocation Method, Electronic Device, Client and Storage Media | |
| US10254965B2 (en) | Method and apparatus for scheduling block device input/output requests | |
| US11841885B2 (en) | Multi-format content repository search | |
| WO2022227689A1 (en) | Video processing method and apparatus | |
| CN111797270A (en) | Audio playing method and device, electronic equipment and computer readable storage medium | |
| CN110851301A (en) | A recovery method and system for MP4 files | |
| EP3955131A1 (en) | Expression package generation method and device, electronic device, and medium | |
| CN114490442A (en) | File fragment adjusting method and electronic equipment | |
| US20150373114A1 (en) | Storage abstraction layer and a system and a method thereof | |
| WO2022250708A1 (en) | Parallelizing opengl rendering pipelines | |
| CN119493805B (en) | Method, device, electronic device and medium for replaying database logical log | |
| US10909968B2 (en) | Enhanced cache control for text-to-speech data | |
| KR101602955B1 (en) | Method for replaying audio data by using mobile terminal and head unit and computer-readable recoding media using the same |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19785219 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19785219 Country of ref document: EP Kind code of ref document: A1 |