KR20140132535A - Method for parallel encoding and system thereof - Google Patents
Method for parallel encoding and system thereof Download PDFInfo
- Publication number
- KR20140132535A KR20140132535A KR20130051815A KR20130051815A KR20140132535A KR 20140132535 A KR20140132535 A KR 20140132535A KR 20130051815 A KR20130051815 A KR 20130051815A KR 20130051815 A KR20130051815 A KR 20130051815A KR 20140132535 A KR20140132535 A KR 20140132535A
- Authority
- KR
- South Korea
- Prior art keywords
- encoding
- data
- parallel
- target data
- subset
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
A parallel encoding method and system thereof are disclosed. The above parallel encoding method is characterized in that the parallel encoding system encodes at least two of N (N is an integer of 2 or more) subsets included in a target data set including a plurality of target data in parallel, Obtaining a corresponding set of N sub-codes, wherein at least two subsets of the N subsets are encoded in parallel to obtain N sub-codes corresponding to each of the N subsets Wherein the parallel encoding system encodes k th (k is an integer greater than 1 and less than or equal to N) th subset to a k th subset of codes, wherein the parallel encoding system is a target that is included in the k th subset Encoding the code data corresponding to each of the data, wherein the best code data of the k < th > Into the code corresponding to the original value of the corresponding object data.
Description
The present invention relates to a parallel encoding method and system thereof. More specifically, when the data to be encoded is not the original value of the data but is data having a difference value from the immediately preceding data and / or encoding using a variable length code (VLC) such as Huffman encoding To a method and apparatus that can perform encoding in parallel.
1 is a view for schematically explaining a conventional image compression method.
Referring to FIG. 1A, a conventional image compression method (for example, JPEG image compression) is a method in which an encoder receives raw image data (S10), samples the raw image data (S20) The sampled image data is DCT (Discrete Cosine Transform) for each data unit or block (S30), and quntaization is performed (S40). Then, the encoder can encode the block-quantized data in a predetermined manner (e.g., Huffman coding) to perform compression.
The quantized data for the block to be encoded may be a quantized DCT coefficient. Generally, in JPEG, DC coefficient (0th order DCT coefficient) and AC coefficient among the DCT coefficients are separated and encoded. The reason is that the DC coefficient is generally larger than the AC coefficient and the encoding method used for JPEG extrusion (for example, Huffman coding) has a higher compression ratio as the same value is included in the object data to be encoded .
Therefore, when separating and encoding only the DC coefficient, the object data to be encoded can be expressed as shown in FIG.
The target data set 10 as shown in FIG. 1B includes a plurality of target data (for example, DC 0 to DC (N-1) ). Also, each object data may be a value corresponding to the DC coefficient after the data unit (or data block) of the image data has undergone processing (sampling, DCT, and quantization).
The encoder can then directly encode the target data set 10, i.e., the DC coefficients, but in the JPEG standard, rather than encoding the original value of the DC coefficient to increase the compression ratio, the previous DC coefficient and the corresponding DC coefficient Lt; / RTI > The reason for encoding the difference value from the original value of the previous target data instead of encoding the original value of each target data is that when the difference value is encoded, the data having the same value is encoded in the target data set 10). If the difference value of each target data is specified as an encoding target, the target data set can be expressed as shown in FIG. 1C.
1C shows a
In order to increase the compression efficiency, there is a case where the original value of the target data to be encoded is not encoded but the difference value between the original value of the immediately preceding target data and the original value of the target data is encoded. In this case, since the number of data having the same value increases in the data set to be encoded, compression efficiency is increased when a predetermined encoding method (for example, Huffman coding) is performed. However, there is a problem in that parallel encoding is difficult to be performed in this case.
The reason is that if a given encoding system (encoder) wants to encode the first subset 21 and the
In addition, when the encoding system is encoded with a code having a different length according to the value of the target data, even the code length of the first target data DCk-1 - DCk of the
Therefore, the conventional JPEG encoding sequentially obtains the original values of the target data corresponding to the data units of the image (for example, 8x8 pixels), and then converts the target data into the corresponding difference values Value - the original value of the target data), and then perform the encoding sequentially.
However, as the multiprocessing environment has recently developed, even if the target data to be encoded has a difference value instead of the original value of the target data, if the parallel encoding is possible, the improvement of the encoding efficiency and the speed greatly increases .
Therefore, the target data included in the target data set to be encoded is not the original value but the difference value between the original value of the immediately preceding target data and the original value of the target data (hereinafter, simply referred to as' difference Quot ;, and " value "), there is a need for a technical idea capable of performing parallel encoding.
SUMMARY OF THE INVENTION Accordingly, the present invention has been made in view of the above-mentioned problems, and it is an object of the present invention to provide a method and an apparatus for correcting a difference between an original value of an immediately preceding object data and an original value of the object data, (Hereinafter referred to simply as " difference value " for the sake of convenience of description in this specification).
And in particular to provide a method and system that can perform JPEG encoding in parallel.
According to an aspect of the present invention, there is provided a method of parallel encoding, the parallel encoding system including at least one subset of N (N being an integer of 2 or more) subsets included in a target data set including a plurality of target data, And encoding the two in parallel to obtain N subcode sets corresponding to each of the N subsets, wherein at least two subsets of the N subsets are encoded in parallel to produce N subsets (K is an integer greater than 1 and less than or equal to N) th subset to the k-th sub-code set, included in the step of obtaining the N sub- Wherein the parallel encoding system encodes code data corresponding to each of the target data included in the k < th > But also, and the best code data of the k-th sub-code set are encoded in corresponding to the original value (original value) in the corresponding object data code.
Wherein the parallel encoding system encodes k th (k is an integer greater than 1 and equal to or less than N) th subset to a kth subcode set, wherein the parallel encoding system is operative with the best data of the kth subcode set, wherein the parallel encoding system encodes code data corresponding to each of the target data included in the kth subset, wherein the parallel encoding system encodes code data corresponding to each of the target data included in the kth subset, and encoding the code data corresponding to each of the target data included in the k-th subset.
Wherein the step of encoding at least two of the N subsets in parallel to obtain N sub-codes corresponding to each of the N subsets comprises: (k-1) ) Th sub-code set, wherein the parallel encoding system records a restart marker with the last data of the (k-1) th sub-code set.
Wherein the parallel encoding method comprises the step of the parallel encoding system dividing the image data into N subimage data and the parallel encoding system processing the N subimage data in parallel to obtain the N subsets can do.
Wherein the parallel encoding method further comprises: after the parallel encoding system acquires all of the N subsets, specifying the target data set, and generating an encoding table based on the target data included in the specified target data set Wherein the step of encoding the code data corresponding to each of the target data included in the kth subset of the parallel encoding system comprises the step of encoding target data included in the kth subset based on the generated encoding table, And encodes the code data corresponding to each of the encoded data.
The parallel encoding method further includes generating the kth encoding table based on the target data included in the obtained subset when the parallel encoding system obtains the kth subset of the N subset Wherein the step of encoding the code data corresponding to each of the target data included in the kth subset of the parallel encoding system includes the step of encoding each of the target data included in the kth subset based on the generated kth encoding table And encodes the corresponding code data.
For each of the code data encoded after the best code data of the kth subcode set, the parallel encoding system calculates an original value of the target data corresponding to the code data and an original value of the immediately preceding target data of the corresponding target data And the difference value of the difference value.
The parallel encoding method may further include generating the scan data by combining the N subcode sets obtained by the parallel encoding system.
The object data may be a DC coefficient or an AC coefficient for each data unit of the image data. The parallel encoding method may be stored in a computer-readable recording medium on which the program is recorded.
According to an aspect of the present invention, there is provided a parallel encoding system including a storage device in which at least one subset of N (N is an integer of 2 or more) subsets included in a target data set including at least one processor and a plurality of target data can be stored , The at least one processor encodes in parallel at least two of the N (N is an integer equal to or greater than 2) subsets to obtain N sub-codes corresponding to each of the N subsets, and k Th subset to a kth subcode set, and encoding the code data corresponding to each of the target data included in the kth subset to encode the kth subset, The data is encoded with a code corresponding to the original value of the corresponding object data.
The at least one processor records a restart marker with the best data of the kth subcode set and encodes code data corresponding to each of the target data included in the kth subset after the restart marker , and a restart marker is recorded with the last data of the (k-1) th sub-code set.
The at least one processor may divide predetermined image data into N subimage data and process the N subimage data in parallel to obtain and store the N subsets in the storage device.
Wherein the at least one processor specifies the target data set if all of the N subsets are obtained, generates an encoding table based on the target data included in the specified target data set, And encoding the code data corresponding to each of the target data included in the k-th subset, or if the k-th subset of the N subset is acquired, based on the target data included in the obtained subset th encoding table, and encode code data corresponding to each of the target data included in the k-th subset based on the generated k-th encoding table.
According to the technical idea of the present invention, encoding can be performed in parallel while performing JPEG encoding, that is, encoding target data existing after the specific target data before the value of the specific target data is determined, And can have a remarkable effect on the encoding speed.
In addition, not only the encoding process but also the image data can be processed in parallel (sampling, DCT, and quantization), so that a significant speed increase can be achieved in the process of generating the entire JPEG file.
In addition, the technical idea of the present invention has an effect that not only the JPEG encoding but also the parallel encoding scheme can be used for all kinds of target data in which the target data indicates the difference value.
BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a diagram schematically illustrating a conventional image data compression process.
FIG. 2 shows a flowchart for schematically explaining a parallel encoding method according to an embodiment of the present invention.
3 shows a flowchart for schematically explaining a single encoding process in a parallel encoding method according to an embodiment of the present invention.
4 is a diagram illustrating a plurality of processes in which encoding is performed in parallel according to a parallel encoding method according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating a plurality of processes in which encoding is performed in parallel according to a parallel encoding method according to another embodiment of the present invention.
6 is a diagram for explaining a method of generating an encoding table according to a parallel encoding method according to an embodiment of the present invention.
7 is a diagram illustrating a schematic configuration of a parallel encoding system according to an embodiment of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise.
In this specification, terms such as "comprise" or "having" are used to specify that a feature, a number, a step, an operation, an element, a component, or a combination thereof, But do not preclude the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.
Also, in this specification, when any one element 'transmits' data to another element, the element may transmit the data directly to the other element, or may be transmitted through at least one other element And may transmit the data to the other component. Conversely, when one element 'directly transmits' data to another element, it means that the data is transmitted to the other element without passing through another element in the element.
Hereinafter, the present invention will be described in detail with reference to the embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.
FIG. 2 shows a flowchart for schematically explaining a parallel encoding method according to an embodiment of the present invention.
1C and FIG. 2, a parallel encoding method according to an embodiment of the present invention is a parallel encoding method in which a parallel encoding system encodes N (N is an integer of 2 or more) included in an object data set (for example, 20 in FIG. 1C) (E.g., 21, 22, etc. in FIG. 1C) of the subset (S100). If the N subsets are combined, the target data set may be the target data set. According to an embodiment, the data set in which the N subsets are merged may be part of the target data set. That is, the technical idea of the present invention may be applied only to a part of the object data set to be encoded.
In any case, the parallel encoding system may encode each of the N subsets contained in the target data set in parallel. Encoding in parallel may mean that the encoding of another subset begins before the encoding of either subset is complete. According to one embodiment, the encoding for the N subsets may be started in parallel at the same time.
The technical idea of the present invention is that at least two of the N subsets need only be encoded in parallel. Then, the remaining subset may be sequentially encoded. Or a plurality of subsets of the remaining subset may be encoded again in parallel.
For example, the parallel encoding system may employ parallel encoding for k (k is an integer that is greater than 1 and less than or equal to N) th, (k-1) th, and (k + (S110, S110-1, S110-2). A process for performing encoding for each subset may be generated by the parallel encoding system so that the encoding for each subset may be performed in parallel by the process. The process may be generated for each processor included in the parallel encoding system, and one processor may generate a plurality of processes. In this specification, a process of encoding any one subset into a corresponding sub-code set is defined as a single encoding process. The at least one processor may encode N subsets into N subcode sets through N processes that are independent of each other. The at least one processor may be implemented in various embodiments, such as a CPU, a microprocessor unit (MPU), a mobile processor, etc., according to an implementation of the parallel encoding system.
Then, the parallel encoding system may obtain a kth subcode set, a (k-1) th subcode set, and a (k + 1) th subcode set as a result of parallel encoding (S120, S120-1, S120 -2). Each sub-code set may include a result that the target data included in the corresponding subset is encoded with the corresponding code data. And a predetermined encoding table may be used for such encoding. Different encoding tables may be used for each subset, or the same encoding table may be used for all subsets. Further, each subcode set may further include predetermined data (e.g., RM (Restart marker)) for implementing the technical idea of the present invention.
As such, when at least two of the N subsets are encoded in parallel and the N subcode sets are ultimately obtained, the parallel encoding system combines the N subcode sets to generate a scan data set corresponding to the entire set of target data Data can be acquired.
In any case, according to the technical idea of the present invention, the code data corresponding to the foremost code data of each subcode set, that is, the best target data of the corresponding subset, is a code corresponding to the original value of the target data . In addition, predetermined data, that is, RM, which is additionally written to each subset other than the code data, may be recorded at the head of the subcode set or may be recorded at the end.
RM is a marker defined in the JPEG standard. Generally, as described above, JPEG encodes the difference value between the original value (DC value) of the immediately preceding target data and the original value of the target data, And may be a marker used to prevent errors in the data. Therefore, the technical idea of the present invention can provide a technical idea that parallel encoding can be performed through such RM. If the technical idea of the present invention is applied in addition to the JPEG image encoding, a separate marker for this RM function can be defined, and if the RM marker is recorded, the next code data corresponds to the difference value It is sufficient to be able to recognize that the code corresponds to the original value rather than the code.
In the parallel encoding method according to the technical idea of the present invention, a single encoding process, that is, a process in which any one subset is encoded into a subcode set is shown in FIG.
3 shows a flowchart for schematically explaining a single encoding process in a parallel encoding method according to an embodiment of the present invention. 4 is a diagram illustrating a plurality of processes in which encoding is performed in parallel according to a parallel encoding method according to an embodiment of the present invention. 5 is a diagram illustrating a plurality of processes in which encoding is performed in parallel according to a parallel encoding method according to another embodiment of the present invention.
FIGS. 4 and 5 illustrate examples of a subcode set when the actual encoding is performed according to the procedure shown in FIG.
First, referring to FIGS. 3A and 4, a parallel encoding system may perform at least two of N single encoding processes in parallel to encode N subsets into N subcode sets. The k th (k is greater than 1 and less than or equal to N) single encoding process among the N single encoding processes may encode the k th subset to the k th sub code set through the process shown in FIG. The first single encoding process is the process of encoding the first subset into the first sub-code set, since RM is not required at the beginning of the scan data, so only the second to Nth single encoding process in the single encoding process The best data of the subcode set can be recorded.
The parallel encoding system may allocate an area for a k-th sub code set to an arbitrary area of a predetermined storage device included in the parallel encoding system. The size of the area may vary. The parallel encoding system may record an RM at the head of the subcode set (S111). That is, the best data of the sub-code set may be RM. After the RM, encoding can be performed by recording code data sequentially corresponding to the first target data included in the kth subset from the last target data. For this, the parallel encoding system can set the index (i) of the target data to 1 (S112). The parallel encoding system may encode the original value of the target data (S114) when the index is 1 (i.e., the first target data) (S113). If the index is not 1 (i.e., not the first target data), the difference value may be encoded (S113) (S115).
The original value of the first object data is information that can be obtained immediately after the data unit (block) corresponding to the object data is sampled, DCT, and quantized. However, the difference value of the first object data is the immediately preceding object data That is, it is not known until the original value of the last object data of the (k-1) th subset is determined. Therefore, in order to perform parallel encoding, the first object data of each subset is encoded with a code corresponding to the original value, and the second target data is encoded with a code corresponding to the difference value. have.
If the index is greater than the last index max (i.e., encoding is performed to the last target data), the target data included in the subset is sequentially encoded with the corresponding code data while incrementing the index sequentially one by one (S116) (S117), the encoding process can be terminated. The parallel encoding system may then obtain the kth subcode set.
This process is illustratively shown in Fig.
The
On the other hand, a second single encoding process for encoding the
The second single encoding process may write RM (RST, 50-2) as the best data of the subcode set 50-1 (S111). And sequentially perform encoding from the
When all of the Nth single encoding process is completed in this way, N subcode sets may be obtained, and the parallel encoding system may combine the obtained N subcode sets to obtain scan data in which the entire target data set has been encoded can do. At this time, RM is recorded in the best data of each subcode set (except for the first subcode set), and code data corresponding to the original value of the target data may be recorded immediately after the RM. Then, the decoding system can recognize that the code data immediately after the RM is the original value, and thus can normally decode the scan data.
Meanwhile, a single encoding process according to another embodiment of the present invention is shown in FIG. 3B.
3B, each single encoding process (except for the N-th single encoding process) encodes the target data included in the corresponding subset sequentially into corresponding code data, and then records RM after the last code data can do.
That is, the k-th single encoding process performed by the parallel encoding system (k is an integer greater than or equal to 1 and less than N) sequentially corresponds to the first target data included in the k-th subset from the last target data Encoding can be performed by recording the code data. For this, the parallel encoding system can set the index (i) of the target data to 1 (S111-1). The kth single encoding process may encode the original value of the target data (S114-1) when the index is 1 (i.e., the first target data) (S112-1). If the index is not 1 (i.e., not the first target data), the difference value may be encoded in step S113-1 (S113-1). To this end, the k-th single encoding process may sequentially perform encoding (S115-1) while incrementing the index by one (i.e., for the next target data) (S113-1).
If the index (i) is larger than the index (max) corresponding to the last target data (that is, if encoding has been performed up to the last target data) (S116-1), the kth single encoding process records RM (S117 -1).
An example in which the process shown in FIG. 3B is applied is shown in FIG.
Referring to FIG. 5, the
On the other hand, a second single encoding process for encoding the
The second single encoding process may also generate the second subcode set 50-1 in the same manner as the first single encoding process. The second single encoding process can sequentially perform encoding from the best
A single encoding process performing the process as shown in FIG. 3B may perform the encoding in the same way except for the last single encoding process. The last single encoding process can simply encode the target data contained in the last subset to the corresponding code data sequentially. Of course, at this time as well, the first object data can be encoded into the code data corresponding to the original value. When all of the Nth single encoding process is completed in this way, N subcode sets may be obtained, and the parallel encoding system may combine the obtained N subcode sets to obtain scan data in which the entire target data set has been encoded can do. The scan data finally obtained in the case where a single encoding process is performed in the method of FIG. 3A and the single encoding process is performed in the method of FIG. 3B may be the same.
When the technical idea of the present invention is used for JPEG image compression, when the scan data is obtained in the above-described process, the parallel encoding system can generate meta information corresponding to the scan data. The parallel encoding system may include a predetermined marker corresponding to the scan data in the meta information. For example, a DRI (Define Restart Interval) marker may be recorded, and a restart interval may be defined through the DRI marker. The restart interval may be the number of target data included in the subset or the number of code data included in the subcode set. To this end, each subset may be implemented to include the same number of target data. In addition, various markers (e.g., Start of Image (EOI), Start of Frame (SOF), Define Huffman Table (DHT), Start of Scan (SOS) DQT (Define Quantization Table), etc.) may be included in the meta information. Since these markers are widely known, a detailed description thereof will be omitted herein.
On the other hand, if the parallel encoding system is a system that encodes an image into a JPEG file, the parallel encoding system simply converts the target data (e.g., DC coefficients or AC coefficients after image data is sampled, DCT, and quantized) Quot ;, < / RTI > However, the parallel encoding system can perform processing in parallel until the target data is acquired. Accordingly, the processing (sampling, DCT, quantization) from the N sub-image data until the N subsets are obtained can also be performed in parallel after the image data is divided into N sub-image data. At this time, the processing process from one sub-image data to acquiring the subset can be defined as a single processing process. An example of a case where the process from image data to acquisition of target data is also performed in parallel is shown in Fig.
6 is a diagram for explaining a method of generating an encoding table according to a parallel encoding method according to an embodiment of the present invention.
6A and 6B, the parallel encoding system may divide
At least two of the N single processing processes may be performed in parallel. A single processing process, i.e., sampling, DCT, and quantization, can be performed independently of other single processing processes. That is, since the result of any one single processing process is not used for another single processing process, each single processing process can be performed independently.
On the other hand, an encoding table may be required for each single encoding process described above to encode the target data. In general, in the case of JPEG, Huffman coding is used as an encoding method, so it may be preferable that a Huffman table is predefined for each single encoding process to be performed. According to an embodiment of the present invention, the parallel encoding system can perform encoding using a standard Huffman table widely used in JPEG. In this case, the parallel encoding system may not need to generate a separate encoding table. According to another embodiment, the parallel encoding system may generate an encoding table for target data to be encoded, and then perform encoding using the generated encoding table.
In this case, according to the embodiment of the present invention, the N single encoding processes can perform encoding using the same encoding table. An example of this is shown in FIG. 6A. In the case of the scheme shown in FIG. 6A, the encoding table can be defined so that the entire object data to be encoded, that is, the target data set, must all be determined. Thus, the parallel encoding system can generate the encoding table based on a set of N subsets, i.e., the target data set, after all N subsets are obtained by N single processing processes. At this time, after the N single processing processes are all terminated, the encoding table is generated, and each single encoding process can be performed using the generated encoding table. This is because when the encoding table is implemented as a Huffman table, the target data to be encoded are all specified so that the code data corresponding to the value of each target data can be determined.
Another embodiment is shown in Figure 6B. According to the scheme shown in FIG. 6B, there may be at least two single encoding processes that perform encoding using different encoding tables among the N single encoding processes. According to an embodiment, each single encoding process may perform encoding using a corresponding unique encoding table (first encoding table, second encoding table, (N-1) encoding table, and Nth encoding table) have. Of course, in this case, it may be used in a data format that is implemented to use a plurality of encoding tables (e.g., a Huffman table). At this time, when any one of the single processing processes is terminated, any one encoding table is generated by any one obtained subset, and a corresponding single encoding process can be performed using the generated encoding table.
7 is a diagram illustrating a schematic configuration of a parallel encoding system according to an embodiment of the present invention.
Referring to FIG. 7, the
The
The
The
The
The parallel encoding method according to an exemplary embodiment of the present invention may be implemented in the form of computer readable program instructions and stored in a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.
Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of software.
Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical media such as CD-ROM and DVD, a floptical disk, And hardware devices that are specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like. The above-mentioned medium may also be a transmission medium such as a light or metal wire, wave guide, etc., including a carrier wave for transmitting a signal designating a program command, a data structure and the like. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.
Examples of program instructions include machine language code such as those produced by a compiler, as well as devices for processing information electronically using an interpreter or the like, for example, a high-level language code that can be executed by a computer.
The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be.
It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
It is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. .
Claims (14)
Wherein the parallel encoding system is included in the step of encoding at least two subsets of the N subsets in parallel to obtain N subcode sets corresponding to each of the N subsets, wherein k is an integer greater than 1 and N Less than or equal to integer) th subset to the k < th > sub-code set,
Wherein the parallel encoding system encodes code data corresponding to each of the target data included in the kth subset, wherein the best code data of the kth subcode set comprises an original value of the corresponding target data ) With a code corresponding to the parallel code.
Further comprising the step of the parallel encoding system recording a restart marker with the best data of the kth subcode set,
Wherein the step of encoding the code data corresponding to each of the target data included in the k < th > subset comprises:
The parallel encoding system encoding code data corresponding to each of the target data included in the k < th > subset after the restart markers.
Wherein the parallel encoding system further comprises encoding the (k-1) th subset with the (k-1) th subcode set, wherein the parallel encoding system further comprises: And a restart marker is recorded in the parallel encoding step.
The parallel encoding system dividing the image data into N subimage data; And
And the parallel encoding system processing the N sub-image data in parallel to obtain the N subsets.
After the parallel encoding system acquires all of the N subsets, identifying the set of target data; And
And generating an encoding table based on the target data included in the specified target data set,
Wherein the step of encoding the code data corresponding to each of the target data included in the k < th > subset comprises:
And the code data corresponding to each of the target data included in the k-th subset is encoded based on the generated encoding table.
Wherein the parallel encoding system further comprises generating a kth encoding table based on the target data included in the obtained subset when the kth subset of the N subset is obtained,
Wherein the step of encoding the code data corresponding to each of the target data included in the k < th > subset comprises:
And the code data corresponding to each of the target data included in the k-th subset is encoded based on the k-th encoding table.
And the parallel encoding system combines the obtained N subcode sets to generate scan data.
Wherein the image data is a DC coefficient or an AC coefficient for each data unit of the image data.
A storage device in which N (N is an integer of 2 or more) subsets included in a target data set including a plurality of target data can be stored,
Wherein the at least one processor comprises:
The method comprising the steps of: encoding in parallel at least two of N subsets (N being an integer equal to or greater than two) to obtain N subcode sets corresponding to each of the N subsets,
encoding the code data corresponding to each of the target data included in the k-th subset to encode the k-th subset of k-th (k is an integer greater than 1 and less than or equal to N) subset, And the best code data of the subcode set is encoded with a code corresponding to the original value of the corresponding target data.
a restart marker is recorded with the best data of the k-th subcode set, the code data corresponding to each of the target data included in the k-th subset after the restart marker is encoded,
and a restart marker is recorded as the last data of the (k-1) -th subcode set.
Processing the N pieces of sub-image data into N pieces of sub-image data and processing the N pieces of sub-image data in parallel to acquire the N subsets and store the N pieces of sub-image data in the storage device.
Generating an encoding table based on the target data included in the specified target data set, and generating an encoding table based on the generated encoding table based on the generated encoding table, Encoding the code data corresponding to each of the target data included in the target data,
Generating a kth encoding table based on the target data included in the obtained subset when the kth subset of the N subset is obtained and generating the kth encoding table based on the kth encoding table based on the generated kth encoding table, And encodes the code data corresponding to each of the target data included in the subset.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130051815A KR20140132535A (en) | 2013-05-08 | 2013-05-08 | Method for parallel encoding and system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130051815A KR20140132535A (en) | 2013-05-08 | 2013-05-08 | Method for parallel encoding and system thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140132535A true KR20140132535A (en) | 2014-11-18 |
Family
ID=52453469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130051815A KR20140132535A (en) | 2013-05-08 | 2013-05-08 | Method for parallel encoding and system thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140132535A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019050343A1 (en) * | 2017-09-08 | 2019-03-14 | 국민대학교산학협력단 | Method and apparatus for generating random number on basis of block cipher to which white-box cryptography is applied |
-
2013
- 2013-05-08 KR KR20130051815A patent/KR20140132535A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019050343A1 (en) * | 2017-09-08 | 2019-03-14 | 국민대학교산학협력단 | Method and apparatus for generating random number on basis of block cipher to which white-box cryptography is applied |
KR20190028066A (en) * | 2017-09-08 | 2019-03-18 | 국민대학교산학협력단 | A method of generating random number based on block cipher with whitebox encryption and apparatus thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8666179B2 (en) | Image encoding apparatus and decoding apparatus | |
US7869659B2 (en) | Image-comparing apparatus, image-comparing method, image-retrieving apparatus and image-retrieving method | |
US20160007037A1 (en) | Method and system for still image encoding and random access decoding | |
JP2019515561A5 (en) | ||
US8467442B2 (en) | Image searching device and method, program and program recording medium | |
US8538180B2 (en) | Method and apparatus for generating JPEG files suitable for parallel decoding | |
KR101832418B1 (en) | Method and system for optimization of image encode quality | |
US10785493B2 (en) | Method of compressing and decompressing image data | |
JP5318256B2 (en) | High bit depth image compression | |
US9083977B2 (en) | System and method for randomly accessing compressed data from memory | |
US8189687B2 (en) | Data embedding apparatus, data extracting apparatus, data embedding method, and data extracting method | |
JP2022043029A (en) | Method for encoding digital image, decoding method, associated device, user terminal and computer program | |
US20110170607A1 (en) | WEAV Video Compression System | |
US8576923B2 (en) | Bitstream navigation techniques | |
KR20140132535A (en) | Method for parallel encoding and system thereof | |
KR20170059411A (en) | Image compression method allowing a set compression quality to be obtained | |
EP3190793A1 (en) | Method for re-encoding image and apparatus therefor | |
KR101541869B1 (en) | Method for encoding and decoding using variable length coding and system thereof | |
CN111083416B (en) | Data processing method and device, electronic equipment and readable storage medium | |
US9560365B2 (en) | Image coding device, image decoding device, image coding method, and image decoding method | |
US10798383B2 (en) | Method for decoding a digital image, coding method, devices, terminal and associated computer programs | |
US8260070B1 (en) | Method and system to generate a compressed image utilizing custom probability tables | |
CN113473154B (en) | Video encoding method, video decoding method, video encoding device, video decoding device and storage medium | |
CN112449188B (en) | Video decoding method, video encoding device, video encoding medium, and electronic apparatus | |
CN111225210B (en) | Video coding method, video coding device and terminal equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |