CN104602030A - Encoding method and device and server - Google Patents
Encoding method and device and server Download PDFInfo
- Publication number
- CN104602030A CN104602030A CN201410837910.5A CN201410837910A CN104602030A CN 104602030 A CN104602030 A CN 104602030A CN 201410837910 A CN201410837910 A CN 201410837910A CN 104602030 A CN104602030 A CN 104602030A
- Authority
- CN
- China
- Prior art keywords
- coding
- vector
- unit
- coding parameter
- parameter sets
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 239000013598 vector Substances 0.000 claims abstract description 477
- 238000000605 extraction Methods 0.000 claims description 54
- 238000013139 quantization Methods 0.000 claims description 50
- 238000006243 chemical reaction Methods 0.000 claims description 41
- 238000013507 mapping Methods 0.000 claims description 31
- 239000000284 extract Substances 0.000 claims description 22
- 108010001267 Protein Subunits Proteins 0.000 claims description 21
- 238000011002 quantification Methods 0.000 claims description 17
- 238000012216 screening Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 98
- 230000008569 process Effects 0.000 description 23
- 238000011144 upstream manufacturing Methods 0.000 description 16
- 230000003044 adaptive effect Effects 0.000 description 13
- 239000012141 concentrate Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000005192 partition Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012886 linear function Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 125000000205 L-threonino group Chemical group [H]OC(=O)[C@@]([H])(N([H])[*])[C@](C([H])([H])[H])([H])O[H] 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234318—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234345—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- 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/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention provides encoding method and device and a server, and aims at solving the problem of low encoding efficiency. The encoding method comprises the steps of dividing a video frame/ image into encoding blocks; extracting characteristics vectors of the encoding blocks as the current characteristics vectors; inquiring whether the current characteristics vectors are in an encoding parameter set using the characteristics vectors as the indexes by the server; if so, receiving the encoding parameter sets corresponding to the current characteristics vectors from the server; if not so, uploading the encoding blocks to the server for encoding; if successfully uploading, receiving the encoding parameter sets from the server after encoding; otherwise, returning the encoding parameter sets corresponding to one or a plurality of characteristics vectors closest to the current characteristics vectors, returned by the server; encoding according to the encoding parameter sets. With the adoption of the encoding method, the encoding efficiency can be increased.
Description
Technical field
The present invention relates to coding techniques field, particularly relate to a kind of coding method, code device and server.
Background technology
Along with the development of multimedia technology, video/image becomes the main carrying medium of content of multimedia, because its data volume is generally larger, bring to user enrich visual experience while also require larger memory space and higher transmission bandwidth resource, therefore video/image compression efficiency to multimedia apply very important.Along with the extensive use of the Internet and following Internet of Things, instant coding is needed when there being the video image of magnanimity, computational resource and coding rate are also very severe problems, relate to a large amount of mobile terminal in especially current mobile Internet, and its computing capability and battery capacity are all very limited.
Along with popularizing of wireless network, intelligent wireless terminal can accessing Internet and high in the clouds very easily.And nearly all mobile terminal all carries image/video shoot function, but the computational resource of mobile terminal device and battery capacity constrain the encoding video pictures ability of mobile terminal greatly.A lot of intelligent wireless terminal has up bandwidth sum network speed lower at present, and the feature that descending bandwidth sum network speed is relatively high.
Coding method at present based on server needs user first to upload whole video image, and then encode at server, server returns final encoding code stream to user.This coding method uploads whole video image to server, and the data volume that needs are uploaded is very large, is subject to the restriction of upstream bandwidth and network speed; And in the video that uploads onto the server of user, having most of video content to be all repetition or similar, server double counting amount is very large, causes the very large wasting of resources and the inefficiency of coding.
Summary of the invention
The invention provides a kind of coding method, code device and server, to solve the low problem of code efficiency.
In order to solve the problem, the invention discloses a kind of coding method, comprising:
Video frames/images is divided into encoding block;
Extract the characteristic vector of described encoding block as current signature vector;
At server with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists;
When described current signature vector exists, the coding parameter sets that the current signature vector that reception server returns is corresponding;
When described current signature vector does not exist, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding;
Encode according to described coding parameter sets.
Alternatively, the characteristic vector of the described encoding block of described extraction, comprising:
Step 1, is divided into multiple coding unit by described encoding block, and using described multiple coding unit successively as current coded unit;
Step 2, judges that whether described current coded unit is smooth;
Step 3, when described current coded unit is smooth, is labeled as the coding division information of described current coded unit and no longer divides, calculate the mean value of described current coded unit, and to described mean value according to quantization parameter carry out quantification obtain quantize mean value;
Step 4, when described current coded unit is uneven, is labeled as the coding division information of described current coded unit and continues to divide, to continuing the coding unit repeated execution of steps 2 after dividing;
Step 5, by the coding division information of each coding unit, quantizes the characteristic vector that mean value is combined into described encoding block in order.
Alternatively, describedly judge that whether described current coded unit is smooth, comprising:
Calculate the horizontal vertical direction gradient absolute value sum of current coded unit;
Judge whether the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold;
When the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold, described current coded unit is judged to be smooth;
When the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, described current coded unit is judged to be unevenness.
Alternatively, describedly judge that whether described current coded unit is smooth, also comprise:
When the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, judge whether the size of current coded unit is more than or equal to minimum code cell size;
When the size of described current coded unit is more than or equal to minimum code cell size, described current coded unit is judged to be unevenness;
When the size of described current coded unit is less than minimum code cell size, described current coded unit is judged to be smooth.
Alternatively, describedly judge that whether described current coded unit is smooth, also comprise:
When the size of described current coded unit is less than minimum code cell size, two-dimensional discrete conversion is carried out to described current coded unit, calculate the residual absolute value sum of the pixel value of described coding unit and the mean value of described coding unit;
Judge whether described residual absolute value sum is less than Second Threshold;
When described residual absolute value sum is less than Second Threshold, described current coded unit is judged to be smooth;
When described residual absolute value sum is more than or equal to Second Threshold, the coefficient after described two-dimensional discrete conversion is quantized according to quantization parameter, c1 nonzero coefficient before extracting, described c1 >=1.
Alternatively, the characteristic vector of the described encoding block of described extraction, also comprises:
Extract the coding environment of described encoding block, described coding environment comprises: the predictive mode on the reference pixel on described encoding block top and the left side, top and the left side and quantization parameter;
Respectively one-dimensional discrete conversion is carried out to the reference pixel on described encoding block top and the left side, according to described quantization parameter, c nonzero coefficient before rear extraction is quantized to the reference pixel after conversion, described c >=1;
The coding division information of the coding environment of described encoding block, each coding unit, the nonzero coefficient that quantizes mean value and extraction are combined in order the characteristic vector of described encoding block.
Alternatively, described coding method also comprises:
Address maps is carried out to described current signature vector and obtains current signature vector address;
In the initial characteristics vector-address mapping table of server, inquire about described current signature vector address whether exist;
When described current signature vector address exists, the coding parameter sets that the current signature vector that reception server returns is corresponding;
When described current signature vector address does not exist, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.
The invention also discloses a kind of coding method, comprising:
Carry out initialization, setting up with characteristic vector is the coding parameter collection of index;
The current signature vector of the encoding block that received code device sends;
Described with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists;
When described current signature vector exists, send coding parameter sets corresponding to described current signature vector to described code device;
When described current signature vector does not exist, described code device is asked to upload described encoding block; If receive successfully, then described encoding block is encoded, the coding parameter sets of coding gained is sent to described code device, and described coding parameter sets is concentrated at described coding parameter for index stores with current signature vector; If take defeat, then coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
Alternatively, described in carry out initialization, setting up with characteristic vector is the coding parameter collection of index, comprising:
Multiple video frames/images is chosen according to storage threshold;
Described video frames/images is divided into encoding block;
The some encoding blocks selecting the frequency of occurrences the highest in described encoding block are as initial code block;
Described initial code block is encoded, obtains coding result;
Coding parameter sets is extracted from described coding result;
Extract the characteristic vector of described initial code block as initial characteristics vector;
With described initial characteristics vector for coding parameter sets described in index stores, setting up with characteristic vector is the coding parameter collection of index.
Alternatively, described in carry out initialization, setting up with characteristic vector is the coding parameter collection of index, also comprises:
Set up initial characteristics vector-address mapping table, described initial characteristics vector-address mapping table comprises the one-to-one relationship between initial characteristics vector and its index address.
Alternatively, described coding method also comprises:
When described current signature vector does not exist, judge whether the accumulative memory space of server is less than storage threshold;
When the accumulative memory space of server is less than storage threshold, described code device is asked to upload described encoding block; When the accumulative memory space of server is more than or equal to storage threshold, coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
Alternatively, described coding method also comprises:
When described current signature vector exists, judge whether coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold;
When described coding parameter sets number is more than or equal to quantity threshold, send coding parameter sets corresponding to described current signature vector to described code device;
When described coding parameter sets number is less than quantity threshold, described code device is asked to upload described encoding block.
The invention also discloses a kind of code device, it is characterized in that, comprising:
Divide module, for video frames/images is divided into encoding block;
Extraction module, is connected with described division module, for extracting the characteristic vector of described encoding block as current signature vector;
Enquiry module, is connected with described extraction module, at server with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists;
First receiver module, is connected with described enquiry module, for inquire when described enquiry module described current signature vector exist time, the coding parameter sets that current signature that reception server returns vector is corresponding;
Second receiver module, is connected with described enquiry module, for inquire when described enquiry module described current signature vector do not exist time, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding;
Coding module, is connected with described second receiver module with described first receiver module respectively, for encoding according to described coding parameter sets.
Alternatively, described extraction module comprises:
Divide submodule, for described encoding block is divided into multiple coding unit, and using described multiple coding unit successively as current coded unit;
First judges submodule, is connected with described division submodule, for judging that whether described current coded unit is smooth;
Skewness factor module, judge that submodule is connected with described first, for when described first judges that submodule judges that described current coded unit is smooth, the coding division information of described current coded unit is labeled as and no longer divides, calculate the mean value of described current coded unit, and to described mean value according to quantization parameter carry out quantification obtain quantize mean value;
Uneven submodule, judge that submodule is connected with described first, for when described first judges that submodule judges that described current coded unit is uneven, the coding division information of described current coded unit be labeled as and continue to divide, the coding unit after continuation being divided is sent to described first and judges submodule;
Combination submodule, is connected with uneven submodule with described skewness factor module respectively, for by the coding division information of each coding unit, quantize mean value and be combined into the characteristic vector of described encoding block in order.
Alternatively, described first judges that submodule comprises:
First computation subunit, is connected with described division submodule, for calculating the horizontal vertical direction gradient absolute value sum of current coded unit;
First judgment sub-unit, is connected with described first computation subunit, for judging whether the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold;
Skewness factor unit, is connected with described first judgment sub-unit, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold, is judged to be smooth by described current coded unit;
Uneven subelement, be connected with described first judgment sub-unit, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, described current coded unit is judged to be unevenness.
Alternatively, described first judges that submodule also comprises:
Second judgment sub-unit, be connected with smooth subelement with described first judgment sub-unit, uneven subelement respectively, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, judge whether the size of current coded unit is more than or equal to minimum code cell size;
Described uneven subelement also for, when described second judgment sub-unit judges that the size of described current coded unit is more than or equal to minimum code cell size, described current coded unit is judged to be unevenness;
Described skewness factor unit also for, when described second judgment sub-unit judges that the size of described current coded unit is less than minimum code cell size, described current coded unit is judged to be smooth.
Alternatively, described first judges that submodule also comprises:
Second computation subunit, be connected with smooth subelement with described second judgment sub-unit, uneven subelement respectively, for when described second judgment sub-unit judges that the size of described current coded unit is less than minimum code cell size, two-dimensional discrete conversion is carried out to described current coded unit, calculates the residual absolute value sum of the pixel value of described coding unit and the mean value of described coding unit;
3rd judgment sub-unit, is connected with smooth subelement with described second computation subunit, uneven subelement respectively, for judging whether described residual absolute value sum is less than Second Threshold;
Described skewness factor unit also for, when the 3rd judgment sub-unit judges that described residual absolute value sum is less than Second Threshold, described current coded unit is judged to be smooth;
Described uneven subelement also for, when the 3rd judgment sub-unit judges that described residual absolute value sum is more than or equal to Second Threshold, the coefficient after the conversion of described two-dimensional discrete is quantized according to quantization parameter, c1 nonzero coefficient before extracting, described c1 >=1.
Alternatively, described extraction module also comprises:
Environment submodule, is connected with described combination submodule, and for extracting the coding environment of described encoding block, described coding environment comprises: the predictive mode on the reference pixel on described encoding block top and the left side, top and the left side and quantization parameter;
Transformation submodule, respectively with described environment submodule with combine submodule and be connected, for carrying out one-dimensional discrete conversion to the reference pixel on described encoding block top and the left side respectively, according to described quantization parameter, c nonzero coefficient before rear extraction is quantized to the reference pixel after conversion, described c >=1;
Described combination submodule also for, the coding division information of the coding environment of described encoding block, each coding unit, the nonzero coefficient that quantizes mean value and extraction are combined in order the characteristic vector of described encoding block.
Alternatively, also comprise:
Mapping block, is connected with enquiry module with described extraction module respectively, obtains current signature vector address for carrying out address maps to described current signature vector;
Described enquiry module also for, in the initial characteristics vector-address mapping table of server, inquire about described current signature vector address whether exist;
Described first receiver module also for, when described enquiry module inquire described current signature vector exist time, the coding parameter sets that current signature that reception server returns vector is corresponding;
Described second receiver module also for, when described enquiry module inquire described current signature vector do not exist time, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.
The invention also discloses a kind of server, comprising:
Initialization module, for carrying out initialization, setting up with characteristic vector is the coding parameter collection of index;
Receiver module, for the current signature vector of the encoding block that received code device sends;
Enquiry module, is connected with described receiver module with described initialization module respectively, for described with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists;
First sending module, is connected with described enquiry module, for inquire when described enquiry module described current signature vector exist time, send coding parameter sets corresponding to described current signature vector to described code device;
Second sending module, is connected with described enquiry module, for inquire when described enquiry module described current signature vector do not exist time, ask described code device to upload described encoding block; If receive successfully, then described encoding block is encoded, the coding parameter sets of coding gained is sent to described code device, and described coding parameter sets is concentrated at described coding parameter for index stores with current signature vector; If take defeat, then coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
Alternatively, described initialization module comprises:
Choose submodule, for choosing multiple video frames/images according to storage threshold;
Divide submodule, be connected with described submodule of choosing, for described video frames/images is divided into encoding block;
Screening submodule, be connected with described division submodule, in described encoding block, select the frequency of occurrences the highest some encoding blocks as initial code block;
Encoding submodule, is connected with described screening submodule, for encoding to described initial code block, obtains coding result;
Parameter extraction submodule, is connected with described encoding submodule, for extracting coding parameter sets from described coding result;
Feature extraction submodule, is connected with screened submodule, for extracting the characteristic vector of described initial code block as initial characteristics vector;
Parameter set submodule, is connected with feature extraction submodule with described parameter extraction submodule respectively, for described initial characteristics vector for coding parameter sets described in index stores, setting up with characteristic vector is the coding parameter collection of index.
Alternatively, described initialization module also comprises:
Address submodule, is connected with described feature extraction submodule, and for setting up initial characteristics vector-address mapping table, described initial characteristics vector-address mapping table comprises the one-to-one relationship between initial characteristics vector and its index address.
Alternatively, described server also comprises:
First judge module, is connected with the second sending module with described enquiry module respectively, for inquire when described enquiry module described current signature vector do not exist time, judge whether the accumulative memory space of server is less than storage threshold;
Described second sending module also for, when described first judge module judges that the accumulative memory space of server is less than storage threshold, ask described code device to upload described encoding block; When described judge module judges that the accumulative memory space of server is more than or equal to storage threshold, coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
Alternatively, described server also comprises:
Second judge module, be connected with the second sending module with described enquiry module, the first sending module respectively, for inquire when described enquiry module described current signature vector exist time, judge whether coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold;
Described first sending module also for, when described second judge module judges that coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold, send coding parameter sets corresponding to described current signature vector to described code device;
Described second sending module also for, when described second judge module judges that coding parameter sets number corresponding to described characteristic vector is less than quantity threshold, ask described code device to upload described encoding block.
Compared with prior art, the present invention at least comprises following advantage:
The first, video frames/images is divided into encoding block, the characteristic vector extracting encoding block as current signature vector, because the data volume of characteristic vector is less, can adaptive wireless environment upstream bandwidth is less preferably characteristic.
Second, whether the coding parameter Integrated query current signature vector taking characteristic vector as index at server exists, if current signature vector exists, the coding parameter sets that then the current signature vector that returns of reception server is corresponding, thus can directly utilize coding parameter sets to carry out directly or auxiliaring coding, the encoder complexity of code device is reduced, saves the scramble time, improve code efficiency.
3rd, if current signature vector does not exist, then upload encoding block and encode to server, not upload whole video frames/images, compared with whole video frames/images, the data volume of encoding block is much smaller, can adaptive wireless environment upstream bandwidth is less better characteristic.
4th, upload successfully at encoding block, the coding parameter sets obtained after reception server coding, can make the encoder complexity of code device side reduce equally, improves code efficiency.
5th, upload unsuccessfully at encoding block, the coding parameter sets that the one or more characteristic vectors nearest with current signature vector distance that reception server returns are corresponding.Due to apart near characteristic vector, the same comparing class of coding parameter sets seemingly, therefore the coding parameter sets that nearest with current signature vector distance one or more characteristic vectors are corresponding, comparing class same with the coding parameter sets of current signature vector seemingly, can obtain good encoding efficiency.Namely the present invention has certain antijamming capability, and when the characteristic vector that server does not mate completely, the coding parameter sets returned according to the characteristic vector that characteristic vector is nearest therewith carries out encoding and can obtain good coding result equally.
6th, code device directly carries out encoding or carrying out auxiliaring coding according to coding parameter sets, as carried out mode decision in the neighborhood of coding parameter sets, can reduce encoder complexity, saves the scramble time thus improves code efficiency.
Accompanying drawing explanation
Fig. 1 is the flow chart of a kind of coding method of the embodiment of the present invention;
Fig. 2 is a kind of flow chart extracting the characteristic vector of encoding block of the embodiment of the present invention;
Fig. 3 is the flow chart that embodiment of the present invention another kind extracts the characteristic vector of encoding block;
Fig. 4 is the schematic diagram of embodiment of the present invention encoding block and coding environment thereof;
Fig. 5 is that the embodiment of the present invention carries out the schematic diagram of iteration quad-tree partition to coding unit;
Fig. 6 is embodiment of the present invention coding division information and the schematic diagram quantizing mean value;
Fig. 7 is the flow chart of the another kind of coding method of the embodiment of the present invention;
Fig. 8 is the flow chart of a kind of server initiation of the embodiment of the present invention;
Fig. 9 is the schematic diagram of the coding parameter sets that embodiment of the present invention characteristic vector is pointed to;
Figure 10 is the flow chart of a kind of server process of the embodiment of the present invention;
Figure 11 is the structured flowchart of a kind of code device of the embodiment of the present invention;
Figure 12 is the structured flowchart of a kind of server of the embodiment of the present invention.
Embodiment
For enabling above-mentioned purpose of the present invention, feature and advantage become apparent more, and below in conjunction with the drawings and specific embodiments, the present invention is further detailed explanation.
Embodiment one:
With reference to Fig. 1, show the flow chart of a kind of coding method of the embodiment of the present invention, the present embodiment specifically can comprise the following steps:
Step 101, is divided into encoding block by video frames/images.
First encoding block is divided into a frame of video or image in the present embodiment, i.e. LCU block, is of a size of in the LCU block of N × N and comprises N × N number of reference pixel.Video frames/images can be divided into the encoding block of 64 × 64 in the present embodiment.
Step 102, extracts the characteristic vector of described encoding block as current signature vector.
HEVC (High Efficiency Video Coding) is a kind of new video compression standard, provides quite abundant alternative mode, also brings increasing considerably of complexity while bringing the lifting of coding efficiency.Separate between 4 sub-coding units that coding unit divides downwards, such as current coded unit size is 64x64, if it is divided into the sub-coding unit of 4 32x32, so whether every sub-coding unit inside divides and be finally divided into which layer is separate.So have 2 × 2 at a LCU in-line coding unit
4× 2
4=2
9=512 kinds of possible dividing mode.And moreover, for infra-frame prediction, when coding unit is 8 × 8, there are 2N*2N and N*N two kinds of predicting unit, the dividing mode that therefore intraframe coding may exist is exactly 2
10=1024.Therefore the complexity of HEVC intraframe coding is very high.
And if these coding parameter sets can be provided by other approach, just carry out prediction and these basic operations of change quantization entropy code of residual error, then complexity is very low comparatively speaking, can realize fast coding, improve code efficiency.Can be found by a large amount of statistical analysis simultaneously, the coding environment of above-mentioned coding parameter sets and encoding block (comprising the predictive mode and quantization parameter etc. on the reference pixel on encoding block top and the left side, top and the left side) and division information of encoding closely related.Therefore characteristic vector can be extracted, for inquiring about coding parameter sets by characteristic vector according to the coding environment of encoding block and coding division information in the present embodiment.The characteristic vector extracting described encoding block is described in detail in embodiment two as the detailed process of current signature vector.
Step 103, at server with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists.
The encoding block that server is higher to the frequency of occurrences is in advance encoded, and coding parameter sets in extracting from coding result is that index stores with characteristic vector, and establishing with characteristic vector is the coding parameter collection of index.After in the present embodiment, code device extracts current signature vector in a step 102, current signature vector can be uploaded onto the server, server stored with characteristic vector be index coding parameter concentrate search current signature vector, if concentrate at the server coding parameter that take characteristic vector as index and can find described current signature vector, coding parameter sets corresponding to current signature vector then can be directly utilized to encode, encoder complexity reduces, correspondingly code efficiency can be improved, and server can be avoided to carry out double counting, saving resource.And the characteristic vector that code device is uploaded is compared with complete video frame/image, and data volume is smaller, can the less characteristic of better adaptive wireless environment upstream bandwidth.
It should be noted that, also other modes can be adopted to judge whether stored current signature vector in server, as long as whether corresponding to current signature vector encoding block carried out processing to judge server, the present embodiment did not limit concrete judgment mode.It should be noted that, server described in the present embodiment can be specifically one or more server, or cloud platform etc.
Step 104, when described current signature vector exists, the coding parameter sets that the current signature vector that reception server returns is corresponding.
When described current signature vector exists, encoding block corresponding to current signature vector before server is described carried out process, the coding parameter sets directly finding current signature vector corresponding can be concentrated at the coding parameter taking characteristic vector as index, the coding parameter sets that now the current signature vector that returns of reception server is corresponding, described coding parameter sets is utilized directly to encode, eliminate the computational process of large amount of complex, improve the code efficiency of code device, avoid the double counting of server.
Step 105, when described current signature vector does not exist, uploads described encoding block and encodes to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.
When described current signature vector does not exist, encoding block not corresponding to current signature vector before server is described carried out process, now only upload encoding block to server, not upload whole video frames/images, compared with whole video frames/images, the data volume of encoding block is much smaller, can adaptive wireless environment upstream bandwidth is less better characteristic.After server receives described encoding block, described encoding block is encoded, obtain coding parameter sets and return to code device, and with current signature vector for index, corresponding described coding parameter sets stores, namely server update is existing take characteristic vector as the coding parameter collection of index, if there is such next time identical characteristic vector to need coding, just directly corresponding coding parameter sets can be downloaded from server.
Uploading in the present embodiment may be unsuccessfully because failure is uploaded in this side of code device, and also may be because server side causes uploading failure due to memory capacity restriction, also may be because other reasons causes uploading failure.
Upload and unsuccessfully illustrate that server cannot be encoded to this encoding block, the coding parameter sets that now the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.It should be noted that, because characteristic vector is according to hierarchical organization, several impacts on characteristic vector are below less, such as one-dimensional discrete cosine transform (DCT) is carried out to 4x4 encoding block, according to several parameter before the upstream bandwidth situation choosing of code device after quantification, many or few one or two high-frequency parameter, the distance of characteristic vector will be very near, the coding parameter sets result of their correspondences is also like comparing class, therefore the coding parameter sets that nearest with current signature vector distance one or more characteristic vectors are corresponding, comparing class same with the coding parameter sets of current signature vector seemingly, good encoding efficiency can be obtained.Illustrate that the coding method that the present embodiment provides has certain antijamming capability, if namely server do not mate completely characteristic vector time, the coding parameter sets so returned according to the characteristic vector that characteristic vector is nearest therewith carries out encoding and also can obtain good coding result.
Step 106, encodes according to described coding parameter sets.
Code device can be encoded by the coding parameter sets that returns of direct basis server, such as, only carry out the prediction of residual error and the low basic operation of these complexities of change quantization entropy code, just can complete coding, improve code efficiency.
It should be noted that, code device can according to computing capability, direct coding or carry out mode decision to the coding parameter sets in its contiguous range, selects optimum encoding parameter set also to obtain final encoding code stream.If in particular cases described coding parameter sets contains all coding results, then code device also can skip mode decision process and coding, the directly described coding result of utilization.
The coding method that the present embodiment provides, first, video frames/images is divided into encoding block, extracts the characteristic vector of described encoding block as current signature vector, the data volume of described characteristic vector is less, can adaptive wireless environment upstream bandwidth is less preferably characteristic.Secondly, at server with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists, when described current signature vector exists, the coding parameter sets that the current signature vector that reception server returns is corresponding, thus can directly utilize described coding parameter sets to encode, the encoder complexity of code device is reduced, saves the scramble time, improve code efficiency.Again, when described current signature vector does not exist, upload described encoding block and encode to server, not upload whole video frames/images, compared with whole video frames/images, the data volume of encoding block is much smaller, can adaptive wireless environment upstream bandwidth is less better characteristic.Then, if upload successfully, then the coding parameter sets obtained after receiving described server code, can make encoder complexity reduce equally, improves code efficiency.If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.Due to apart near characteristic vector, the same comparing class of coding parameter sets seemingly, therefore the coding parameter sets that nearest with current signature vector distance one or more characteristic vectors are corresponding, comparing class same with the coding parameter sets of current signature vector seemingly, can obtain good encoding efficiency.Namely the characteristic vector in the present embodiment has certain antijamming capability, when the characteristic vector that server does not mate completely, the coding parameter sets returned according to the characteristic vector that characteristic vector is nearest therewith carries out encoding and can obtain good coding result equally.Finally encode according to described coding parameter sets, can encoder complexity be reduced, save the scramble time thus improve code efficiency.
In one preferred embodiment of the invention, also comprise: address maps is carried out to described current signature vector and obtains current signature vector address; In the initial characteristics vector-address mapping table of server, inquire about described current signature vector address whether exist; When described current signature vector address exists, the coding parameter sets that the current signature vector that reception server returns is corresponding; When described current signature vector address does not exist, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.Current signature vector can upload onto the server and carry out address maps and obtain characteristic vector address by the present embodiment, if there is mapping table code device side, also directly can map in code device side.Why carrying out mapping is to accelerate inquiry, and concrete mapping and server maximum permission stored number T-phase are closed.Correspondingly, server can be organized according to the mode of maps feature vectors address chained list and store corresponding coding mode, the characteristic vector address that these coding structures are correlated with can navigate to the coding parameter sets of one or several the bests quickly and easily, returns to code device.
Embodiment two:
With reference to Fig. 2, show a kind of flow chart extracting the characteristic vector of encoding block of the embodiment of the present invention, the present embodiment specifically can comprise the following steps:
Step 201, is divided into multiple coding unit by described encoding block, and using described multiple coding unit successively as current coded unit.
Method encoding block being divided into multiple coding unit has a lot, and such as encoding block can be carried out quaternary tree Loop partition coding unit CU according to breadth First, minimum CU can be 4 × 4.Using ready-portioned coding unit successively as current coded unit, perform following step 202-step 205.
Step 202, judges that whether described current coded unit is smooth.
It should be noted that, judge that the method whether current coded unit is smooth has a lot, such as: can judge that whether current coded unit is smooth by the flatness calculating current coded unit, specifically can judge that whether current coded unit is smooth by the calculating horizontal vertical direction gradient absolute value sum of current coded unit, the variance, standard deviation, mean error etc. of current coded unit.As long as can judge that whether current coded unit is smooth, to concrete, the present embodiment judges that the method whether current coded unit is smooth does not limit.
Step 203, when described current coded unit is smooth, is labeled as the coding division information of described current coded unit and no longer divides, calculate the mean value of described current coded unit, and to described mean value according to quantization parameter carry out quantification obtain quantize mean value.
When described current coded unit is smooth, illustrate that current coded unit does not need to divide again, therefore the division information of current coded unit is for no longer to divide, and can represent no longer divide with 0.Calculate the mean value DC of this coding unit CU, can carry out according to quantization parameter QP DC
dccarry out uniform quantization to obtain quantizing mean value dc, quantization parameter QP
dc∈ { 1,2,4,8}.Now the coding division information of current coded unit with quantification mean value is: 0-dc.
Step 204, when described current coded unit is uneven, is labeled as the coding division information of described current coded unit and continues to divide, to continuing the coding unit repeated execution of steps 202 after dividing.
When described current coded unit is uneven, illustrate that present encoding unit needs to continue to divide, therefore the division information of current coded unit divides for continuing, and can represent continue to divide with 1.Continue to divide the model split that can adopt quaternary tree iteration, for continuing the coding unit after dividing, repeated execution of steps 202, namely whether smoothly judge to continue the coding unit after dividing, when continuing the coding unit after dividing and being smooth, be labeled as no longer divide continuing the coding division information of coding unit after dividing, calculate the mean value continuing the coding unit after dividing, and according to quantization parameter, quantification is carried out to described mean value obtain quantizing mean value.When continuing the coding unit after dividing and being uneven, the coding division information continuing the coding unit after dividing is labeled as and continues to divide, to continuing the coding unit repeated execution of steps 202 after dividing.
Step 205, by the coding division information of each coding unit, quantizes the characteristic vector that mean value is combined into described encoding block in order.
Can understand by composition graphs 6 for coding division information and quantification mean value in the present embodiment, division information of encoding in Fig. 6 is that 1 expression continues to divide, and coding division information is that 0 expression no longer divides.The method that can adopt iteration quad-tree partition is equally divided to the continuation of coding unit, as shown in Figure 5.
The coding division information of each coding unit obtained by step 203 or step 204 by each coding unit, quantize mean value, combine in order, the result of combination is as the characteristic vector of described encoding block.
The present embodiment is the explanation carried out a kind of characteristic vector extracting encoding block of embodiment, and characteristic vector, can as the index of inquiry coding parameter sets for code device; Characteristic vector, for server, can characterize coding parameter sets.
In one preferred embodiment of the invention, extract the characteristic vector of described encoding block, also comprise:
Extract the coding environment of described encoding block, described coding environment comprises: the predictive mode on the reference pixel on described encoding block top and the left side, top and the left side and quantization parameter;
Respectively one-dimensional discrete conversion is carried out to the reference pixel on described encoding block top and the left side, according to described quantization parameter, c nonzero coefficient before rear extraction is quantized to the reference pixel after conversion, described c >=1;
The coding division information of the coding environment of described encoding block, each coding unit, the nonzero coefficient that quantizes mean value and extraction are combined in order the characteristic vector of described encoding block.
In one preferred embodiment of the invention, judge that whether described current coded unit is smooth, specifically can realize in the following manner:
1) the horizontal vertical direction gradient absolute value sum of current coded unit is calculated.
Such as suppose that current coded unit CU is of a size of NxN (wherein N>=4), the horizontal and vertical direction gradient absolute value sum SG of cumulative current C U, namely
it should be noted that, asking SG be not limited to by gradient and ask in the present embodiment, also can be the mode of other similar residual absolute values and SAD.
2) judge whether the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold.First threshold thres1=w*h*f in the present embodiment
1(qp); Wherein, w, h, qp respectively corresponding current coded unit width, highly, quantization parameter.F
1(qp)=α * qp+ β is a linear mapping function, α >0.
3) when the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold, described current coded unit is judged to be smooth.
4) when the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, described current coded unit is judged to be unevenness.
In one preferred embodiment of the invention, step 202 judges that whether described current coded unit is smooth, also comprises:
5) when the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, judge whether the size of current coded unit is more than or equal to minimum code cell size.
6) when the size of described current coded unit is more than or equal to minimum code cell size, described current coded unit is judged to be unevenness.
7) when the size of described current coded unit is less than minimum code cell size, described current coded unit is judged to be smooth.
It should be noted that, if the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, then illustrate that current coded unit is smooth not, continue to judge whether the size N of current coded unit is more than or equal to minimum code cell size, the present embodiment is 8 to be described with minimum code cell size, if N >=8, illustrate that current coded unit is little not, need to continue to divide, therefore the division information of current coded unit divides for continuing, and can represent continue to divide with 1.Iteration quad-tree partition can be carried out to current coded unit CU as shown in Figure 5, make each coding unit (minimum 4 × 4) after dividing enough smooth.
In one preferred embodiment of the invention, step 202 judges that whether described current coded unit is smooth, also comprises:
8) when the size of described current coded unit is less than minimum code cell size, two-dimensional discrete conversion is carried out to described current coded unit, calculate the residual absolute value sum of the pixel value of described coding unit and the mean value of described coding unit.It should be noted that, two-dimensional discrete conversion can be two-dimension discrete cosine transform, and can be also two-dimensional discrete sine transform, the present embodiment be described for two-dimension discrete cosine transform.If the size of current coded unit is less than minimum code cell size 8, can illustrate that current coded unit is 4 × 4, carry out two-dimensional discrete conversion to current coded unit, the mean value dc deducting current coded unit with the pixel value cu of current coded unit, asks residual absolute value sum SAD.
9) judge whether described residual absolute value sum is less than Second Threshold.Second Threshold thres in the present embodiment
2=w*h*f
2(qp), wherein w, h, qp respectively corresponding current coded unit width, highly, quantization parameter.F
2(qp)=α * qp+ β is a linear mapping function, α > 0.It should be noted that, the f in the present embodiment in first threshold
1with the f in Second Threshold
2be the linear function of qp, just the concrete value of α, β is different, and including but not limited to linear function, can be the forms such as index, logarithm, power function.
10) when described residual absolute value sum is less than Second Threshold, described current coded unit is judged to be smooth.
11) when described residual absolute value sum is more than or equal to Second Threshold, the coefficient after described two-dimensional discrete conversion is quantized according to quantization parameter, c1 nonzero coefficient before extracting, described c1 >=1.When described residual absolute value sum is more than or equal to Second Threshold, to 8) in two-dimensional discrete conversion after coefficient quantize according to quantization parameter, c1 nonzero coefficient before extracting, it should be noted that, if the reference pixel participating in two-dimensional discrete conversion is a, then the coefficient after conversion is also a, suppose that wherein nonzero coefficient number is b, the span of c1 is [1, b], and concrete numerical value can user pre-set.If not the number of zero coefficient is less than c1, then get whole nonzero coefficient.C1 can set according to user uplink bandwidth and regulate, and has adaptivity, c1 ∈ { 1,2,3,4...16} in the present embodiment.
Three above preferred embodiment can be understood in conjunction with the embodiments.
Embodiment three:
With reference to Fig. 3, show the flow chart that the embodiment of the present invention extracts the characteristic vector of encoding block, the present embodiment specifically can comprise the following steps:
Step 301, extracts the coding environment of described encoding block, and described coding environment comprises: the predictive mode on the reference pixel on described encoding block top and the left side, top and the left side and quantization parameter.
Be described for Fig. 4 in the present embodiment, Fig. 4 shows encoding block LCU and coding environment thereof, and wherein mT represents predictive mode, and QP represents quantization parameter, and DCT represents one-dimensional discrete cosine transform.
Step 302, carries out one-dimensional discrete conversion to the reference pixel on described encoding block top and the left side respectively, quantizes c nonzero coefficient before rear extraction, described c >=1 according to described quantization parameter to the reference pixel after conversion.
One-dimensional discrete conversion can be one-dimensional discrete cosine transform, and also can be one-dimensional discrete sine transform, the present embodiment be described for one-dimensional discrete cosine transform.
As in Fig. 4, one-dimensional discrete cosine transform DCT is carried out to LCU top a line reference pixel, after quantification, get a front c nonzero coefficient.It should be noted that, can certainly carry out one-dimensional discrete sine transform DST to LCU top a line reference pixel, the present embodiment is only described for DCT.
It should be noted that, if the reference pixel participating in one-dimensional discrete conversion is n, then the coefficient after conversion is also n, and suppose that wherein nonzero coefficient number be the span of m, c is [1, m], concrete numerical value can user pre-set.If not the number m of zero coefficient is less than c, then get whole nonzero coefficient.
It should be noted that, step 301 and step 302 at some in particular cases, when being in the left side and the coboundary of image as current block, can be omitted.
Step 303, is divided into multiple coding unit by described encoding block, and using described multiple coding unit successively as current coded unit.
Described encoding block can be carried out quaternary tree Loop partition coding unit CU according to breadth First in the present embodiment, minimum CU can be 4 × 4.Ready-portioned coding unit is performed following step 304-step 311 as current coded unit successively.
Step 304, calculates the horizontal vertical direction gradient absolute value sum of current coded unit.
Such as suppose that current coded unit CU is of a size of NxN (wherein N>=4), the horizontal and vertical direction gradient absolute value sum SG of cumulative current C U, namely
it should be noted that, asking SG be not limited to by gradient and ask in the present embodiment, also can be the mode of other similar residual absolute values and SAD.
It should be noted that, judge that the method whether current coded unit is smooth also has a lot, such as: judge that whether current coded unit is smooth, as long as can judge that whether current coded unit is smooth by the variance, standard deviation, mean error etc. that calculate current coded unit.The present embodiment is only described for " the horizontal vertical direction gradient absolute value sum " of current coded unit, here " horizontal vertical direction gradient absolute value sum " can change the whether smooth method of other tolerance coding unit into, and step and flow process are the same.
Step 305, judges whether the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold.
First threshold thres1=w*h*f in the present embodiment
1(qp); Wherein, w, h, qp respectively corresponding current coded unit width, highly, quantization parameter.F
1(qp)=α * qp+ β is a linear mapping function, α >0.
Step 306, when the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold, the coding division information of described current coded unit is labeled as and no longer divides, calculate the mean value of described current coded unit, and to described mean value according to quantization parameter carry out quantification obtain quantize mean value.
If the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold, then illustrate that current coded unit is smooth, do not need to divide, therefore the division information of current coded unit is for no longer to divide again, and can represent no longer divide with 0.Calculate the mean value DC of this coding unit CU, can carry out according to quantization parameter QP DC
dccarry out uniform quantization to obtain quantizing mean value dc, quantization parameter QP
dc∈ { 1,2,4,8}.Now the coding division information of current coded unit with quantification mean value is: 0-dc.
Step 307, when the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, judge whether the size of current coded unit is more than or equal to minimum code cell size, if the size of current coded unit is more than or equal to minimum code cell size, then perform step 313, the coding division information of described current coded unit is labeled as and continues to divide, to continuing the coding unit repeated execution of steps 304 after dividing.
If the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, then illustrate that current coded unit is smooth not, continue to judge whether the size N of current coded unit is more than or equal to minimum code cell size, the present embodiment is 8 to be described with minimum code cell size, if N >=8, illustrate that current coded unit is little not, need to continue to divide, therefore the division information of current coded unit divides for continuing, and can represent continue to divide with 1.Iteration quad-tree partition can be carried out to current coded unit CU as shown in Figure 5, make each coding unit (minimum 4 × 4) after dividing enough smooth.For these coding units after division, repeated execution of steps 304 calculates the horizontal vertical direction gradient absolute value sum of current coded unit, and down performs step 305-step 311 successively.
Step 308, if the size of current coded unit is less than minimum code cell size, carries out two-dimensional discrete conversion to described current coded unit, calculates the residual absolute value sum of the pixel value of described coding unit and the mean value of described coding unit.
Two-dimensional discrete conversion can be two-dimension discrete cosine transform, and can be also two-dimensional discrete sine transform, the present embodiment be described for two-dimension discrete cosine transform.
If the size of current coded unit is less than minimum code cell size 8, can illustrate that current coded unit is 4 × 4, carry out two-dimensional discrete conversion to current coded unit, the mean value dc deducting current coded unit with the pixel value cu of current coded unit, asks residual absolute value sum SAD.
Step 309, whether more described residual absolute value sum is less than Second Threshold.
Second Threshold thres in the present embodiment
2=w*h*f
2(qp), wherein w, h, qp respectively corresponding current coded unit width, highly, quantization parameter.F
2(qp)=α * qp+ β is a linear mapping function, α >0.It should be noted that, the f in the present embodiment in first threshold
1with the f in Second Threshold
2be the linear function of qp, just the concrete value of α, β is different, and including but not limited to linear function, can be the forms such as index, logarithm, power function.
Step 310, if described residual absolute value sum is less than Second Threshold, then the coding division information of described current coded unit is labeled as and no longer divides, calculate the mean value of described current coded unit, and to described mean value according to quantization parameter carry out quantification obtain quantize mean value.
In the present embodiment when described residual absolute value sum is less than Second Threshold, illustrate that current coded unit is smooth, do not need to divide, therefore the division information of current coded unit is for no longer to divide again, and can represent no longer divide with 0.Calculate the mean value DC of this coding unit CU, can carry out according to quantization parameter QP DC
dccarry out uniform quantization to obtain quantizing mean value dc, quantization parameter QP
dc∈ { 1,2,4,8}.Now the coding division information of current coded unit with quantification mean value is: 0-dc.
Step 311, when described residual absolute value sum is more than or equal to Second Threshold, quantizes according to quantization parameter the coefficient after described two-dimensional discrete conversion, c1 nonzero coefficient before extracting, described c1 >=1.
When described residual absolute value sum is more than or equal to Second Threshold, coefficient after two-dimensional discrete conversion in step 308 is quantized according to quantization parameter, c1 nonzero coefficient before extracting, it should be noted that, if the reference pixel participating in two-dimensional discrete conversion is a, then the coefficient after conversion is also a, suppose that wherein nonzero coefficient number is b, the span of c1 is [1, b], and concrete numerical value can user pre-set.If not the number of zero coefficient is less than c1, then get whole nonzero coefficient.C1 can set according to user uplink bandwidth and regulate, and has adaptivity, c in the present embodiment
1∈ { 1,2,3,4...16}.
Step 312, is combined into the characteristic vector of described encoding block in order by the coding division information of described encoding block top and the predictive mode on the left side, each coding unit, the nonzero coefficient that quantizes mean value and extraction.
Step 313, is labeled as the coding division information of described current coded unit and continues to divide, to continuing the coding unit repeated execution of steps 304 after dividing.
Can understand by composition graphs 6 for coding division information and quantification mean value in the present embodiment, division information of encoding in Fig. 6 is that 1 expression continues to divide, and coding division information is that 0 expression no longer divides.The method that can adopt iteration quad-tree partition is equally divided to the continuation of coding unit, as shown in Figure 5.
By the described encoding block top in the coding environment of encoding block that extracts in step 301 and the predictive mode mT on the left side, front c the nonzero coefficient extracted in step 302, the coding division information of each coding unit that each coding unit is obtained by step 303-step 311, quantize the nonzero coefficient of mean value and extraction, combine in order, the result of combination is as the characteristic vector of described encoding block.
It should be noted that, characteristic vector, can as the index of inquiry coding parameter sets for code device; Characteristic vector, for server, can characterize coding parameter sets.In embodiment three, server initiation sets up with characteristic vector the extraction for characteristic vector in the process of the coding parameter collection being index, with the characteristic vector pickup process in the present embodiment.
Embodiment four:
With reference to Fig. 7, show the flow chart of a kind of coding method of the embodiment of the present invention, the present embodiment specifically can comprise the following steps:
Step 401, carries out initialization, and setting up with characteristic vector is the coding parameter collection of index.
First server carries out initialization, and the encoding block that the selected frequency of occurrences is higher is encoded, and extracts coding parameter sets according to coding result, extracts the characteristic vector of encoding block, thus foundation take characteristic vector as the coding parameter collection of index.It should be noted that, in the present embodiment, server extracts the detailed process of characteristic vector, extract the detailed process of characteristic vector with code device in embodiment two or embodiment three, something in common can be understood with reference to embodiment two, and therefore not to repeat here for the present embodiment.The present embodiment and embodiment two, embodiment three unlike, need to proceed coding in extraction characteristic vector, particularly, carry out according to the coding method such as fixed length or Columbus quantization parameter QP, conventional span is 16 ~ 48.According to the method such as fixed length or Columbus, lossless coding is carried out to the predictive mode mT on top and the left side.Can encode with block code or with the lossless coding method such as Huffman encoding or arithmetic coding to the nonzero coefficient extracted.Can also encode one by one to each coding unit in encoding block according to grating scanning mode, other coded systems certainly can also be taked to encode to encoding block, and the present embodiment is not restricted this.
It should be noted that, the present embodiment is assembled fruit coding parameter corresponding for the encoding block that the various frequency of occurrences is very high in advance and is stored in server, and store according to specific mode (characteristic vector index), other users only need corresponding characteristic vector to upload onto the server inquiry, server just can return to code device corresponding one or more best coding parameter sets rapidly, code device is again according to these coding parameter sets direct codings returned or at its adjacent modes mode decision among a small circle, thus greatly can save the amount of calculation of code device and the memory space required for a lot of intermediate computations.
Step 402, the current signature vector of the encoding block that received code device sends.
Current signature vector is sent to server by code device, and correspondingly, server can receive described current signature vector.
Step 403, described with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists.
In the present embodiment, step 401 establishes with characteristic vector is the coding parameter collection of index, after receiving characteristic vector, can described be whether the coding parameter Integrated query of index comprises current signature vector with characteristic vector, can search in the index, if comprise current signature vector in index, then illustrate that current signature vector exists, namely corresponding to current signature vector before server encoding block carried out coded treatment, the coding parameter sets directly finding current signature vector corresponding can be concentrated at coding parameter, without the need to carrying out repeated encoding, decrease repeated encoding to calculate, improve code efficiency, if do not comprise current signature vector in index, illustrate that current signature vector does not exist, namely carried out coded treatment to this current characteristic vector before server, coding parameter concentrates the coding parameter sets that current signature vector is not corresponding.Respective handling in needing carry out step 405.
Step 404, when described current signature vector exists, sends coding parameter sets corresponding to described current signature vector to described code device.
When discovering server current signature vector exists, directly send coding parameter sets corresponding to current signature vector to code device, decrease the double counting amount of server.Code device directly can be encoded according to the coding parameter sets received, and reduces encoder complexity, improves code efficiency.
Step 405, when described current signature vector does not exist, asks described code device to upload described encoding block; If receive successfully, then described encoding block is encoded, the coding parameter sets of coding gained is sent to described code device, and described coding parameter sets is concentrated at described coding parameter for index stores with current signature vector; If take defeat, then coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
When described current signature vector does not exist, encoding block not corresponding to current signature vector before server is described carried out process, now encoding block corresponding to current signature vector uploaded by server request code device, only request uploads encoding block to server, not upload whole video frames/images, with upload compared with whole video frames/images, the data volume of encoding block is much smaller, can adaptive wireless environment upstream bandwidth is less better characteristic.After server receives described encoding block, described encoding block is encoded, obtain coding parameter sets and return to code device, and with current signature vector for index, corresponding described coding parameter sets stores, namely server update is existing take characteristic vector as the coding parameter collection of index, if there is such next time identical characteristic vector to need coding, just directly corresponding coding parameter sets can be downloaded from server.As can be seen here, server has study and adjustment capability, server can dynamically upgrade a group coding parameter sets corresponding to each characteristic vector according to the characteristic vector received all, if do not store before there is certain feature vectors server, then server can ask code device to send encoding block, carry out computing obtain corresponding result and with current signature vector for index stores described coding parameter concentrate, like this along with the current signature vector received is more, the collection of server is more and more abundanter and perfect, compiles transcoding effect and also becomes better and better.
In the present embodiment, server takes defeat may be because failure is uploaded in this side of code device, and also may be because server side causes taking defeat due to memory capacity restriction, also may be because other reasons causes taking defeat.
Take defeat and illustrate that server cannot be encoded to this encoding block, now server returns coding parameter sets corresponding to the one or more characteristic vectors nearest with current signature vector distance.It should be noted that, because characteristic vector is according to hierarchical organization, several impacts on characteristic vector are below less, such as one-dimensional discrete cosine transform (DCT) is carried out to 4x4 encoding block, according to several parameter before the choosing of code device upstream bandwidth situation after quantification, many or few one or two high-frequency parameter, the distance of characteristic vector will be very near, the coding parameter sets result of their correspondences is also like comparing class, therefore the coding parameter sets that nearest with current signature vector distance one or more characteristic vectors are corresponding, comparing class same with the coding parameter sets of current signature vector seemingly, good encoding efficiency can be obtained.Illustrate that the coding method that the present embodiment provides has certain antijamming capability, if namely server do not mate completely characteristic vector time, the coding parameter sets so returned according to the characteristic vector that characteristic vector is nearest therewith carries out encoding and also can obtain good coding result.Code device just directly can encode, reduce encoder complexity, improve code efficiency after receiving the coding parameter sets that server returns.
The coding method that the present embodiment provides, first, carry out initialization, foundation take characteristic vector as the coding parameter collection of index, namely a part of coding parameter sets has been prestored, being convenient to code device directly utilizes the coding parameter sets of storage to encode, and reduces the encoder complexity of code device, improves code efficiency.Secondly, the current signature vector of the encoding block that received code device sends, and whether exist at the coding parameter Integrated query current signature vector taking characteristic vector as index.Be index with characteristic vector during server stores coding parameter sets, conveniently can inquire about whether the encoding block corresponding to current signature vector carried out process, search efficiency is high, for follow-up return coding parameter sets or carry out other process decrease the time, also can improve code efficiency to a certain extent.And the characteristic vector of received code block with receive compared with complete video frames/images, the data volume of characteristic vector is much smaller, can adaptive wireless environment upstream bandwidth is less preferably characteristic.Again, if current signature vector exists, then no longer repeat coded treatment, but directly send coding parameter sets corresponding to current signature vector to code device, avoid repeated encoding to calculate, decrease resource occupation amount, code device can be made to obtain rapidly required coding parameter sets, improve coded treatment efficiency.Then, if current signature vector does not exist, then ask code device to upload encoding block, and unsolicitedly upload whole video frames/images, make uploading data amount less, can adaptive wireless environment upstream bandwidth is less better characteristic.Then, if receive successfully, then encoding block is encoded, the coding parameter sets of coding gained is sent to code device, and coding parameter sets is concentrated at coding parameter for index stores with current signature vector, achieve dynamically updating in real time of coding parameter collection, along with the current signature vector received is more, the coding parameter collection of server is more and more abundanter and perfect, compiles transcoding effect and also progressively promotes.Finally, if take defeat, then coding parameter sets corresponding for one or more characteristic vectors nearest for current signature vector distance is sent to code device.Illustrate that the coding method that the present embodiment provides has certain antijamming capability, when the coding parameter stored concentrates coupling less than the coding parameter sets that current signature vector is corresponding, coding parameter sets corresponding for the one or more characteristic vectors nearest in current signature vector distance is sent to code device, due to apart near characteristic vector, seemingly, therefore code device can carry out coding according to above-mentioned coding parameter sets and obtains good encoding efficiency the same comparing class of coding parameter sets equally fast.To sum up, the coding method that the present embodiment provides, can save the encoding calculation amount of code device, reduces encoder complexity, improves code efficiency, and avoids the double counting amount of server, reduces resource occupation amount, improves the coded treatment ability of server.
Embodiment five:
With reference to Fig. 8, show the flow chart of embodiment of the present invention server initiation, the present embodiment specifically can comprise the following steps:
Step 501, chooses multiple video frames/images according to storage threshold.
Server can choose multiple video frames/images according to the storage threshold of self, and the mode the present embodiment specifically chosen does not limit, as long as be no more than the memory capacity of server self.
Step 502, is divided into encoding block by described video frames/images.
The each video frames/images selected in step 501 is divided into the encoding block of N × N, namely comprises the encoding block of N × N number of reference pixel.Concrete division methods can adopt the method for quaternary tree iteration, and other modes also can be taked to divide.
Step 503, the some encoding blocks selecting the frequency of occurrences the highest in described encoding block are as initial code block.
Some encoding blocks that the present embodiment selects the frequency of occurrences the highest in numerous encoding block are as follows as the reason of initial code block:
Although the content of video image can vary, if but analyze with encoding block, can find that between a lot of encoding block, similarity and correlation are very high, especially the encoding block coding unit similarity that proceeds to be divided into is higher, such as a certain class scene or similar picture film, thousands of user may be had all to need to carry out volume transcoding to it, but its inner a lot of coding units similar, this means the words from totally considering, a large amount of users is carrying out the volume transcoding operation of repetition, the smart mobile phone in billions of, the whole world, video camera and camera, the annual new vedio data amount produced is huge, but each encoding block of careful analysis, the encoding block of this astronomical number substantially meets NATURAL DISTRIBUTION (just too distributing), typical coding unit namely account for most ratio, therefrom select such as 100,000 kinds of encoding blocks that the frequency of occurrences is the highest, substantially just most situation can be covered, the encoding block of white noise formula distribution character seldom occurs after all.
Step 504, encodes to described initial code block, obtains coding result.
The present embodiment is not restricted the specific coding mode that initial code block is encoded, block code, Columbus's coding, Huffman encoding and/or one or more counting in the coded systems such as coding can be adopted to encode, as long as can coding result be obtained, i.e. encoding code stream.
Step 505, extracts coding parameter sets from described coding result.
Coding parameter sets is extracted in the coding result obtained from step 504, the coded data that coding parameter sets in the present embodiment comprises can set according to memory capacity, coding parameter sets comprises one or more in coding unit CU, predicting unit PU, converter unit TU size and division information and/or in the predictive mode of each CU/PU, and these information on average only need the memory space about two bytes.Multiple coding parameter sets S that characteristic vector is pointed to as shown in Figure 9, wherein comprise multiple coding parameter S1-Sn in coding parameter sets S.
Step 506, extracts the characteristic vector of described initial code block as initial characteristics vector.
Server extracts the characteristic vector of process with code device extraction encoding block in embodiment two of the characteristic vector of initial code block, and can understand with reference to the related content in embodiment two, the present embodiment does not repeat this.
Step 507, with described initial characteristics vector for coding parameter sets described in index stores, setting up with characteristic vector is the coding parameter collection of index.
With described initial characteristics vector for coding parameter sets described in index stores, code device can be facilitated to inquire about coding parameter sets corresponding to present encoding block, whether the inquiry of convenient service device comprises the current signature vector that code device is uploaded, improve search efficiency, the efficiency returning coding parameter sets can be improved further, thus improve code efficiency.
In one preferred embodiment of the invention, carry out initialization described in also to comprise: set up initial characteristics vector-address mapping table, described initial characteristics vector-address mapping table comprises the one-to-one relationship between initial characteristics vector and its index address.Correspondingly, code device can carry out address maps to described current signature vector and obtains current signature vector address; Judge whether comprise described current signature vector address in the initial characteristics vector-address mapping table of server; If comprise, then determine that described current signature vector exists; If do not comprise, then determine that described current signature vector does not exist.Why carrying out mapping is to accelerate inquiry, and concrete mapping and server maximum permission stored number T-phase are closed.Correspondingly, server can be organized according to the mode of maps feature vectors address chained list and store corresponding coding mode, the characteristic vector address that these coding structures are correlated with can navigate to the coding parameter sets of one or several the bests quickly and easily, returns to code device.
In one preferred embodiment of the invention, code device described in described request also comprises before uploading described encoding block: judge whether the accumulative memory space of server is less than storage threshold; If accumulative memory space is less than storage threshold, then described code device is asked to upload described encoding block; If accumulative memory space is more than or equal to storage threshold, then coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
In one preferred embodiment of the invention, coding parameter sets corresponding to described transmission described current signature vector, to before described code device, also comprises: judge whether coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold; If described coding parameter sets number is more than or equal to quantity threshold, then send coding parameter sets corresponding to described current signature vector to described code device; If described coding parameter sets number is less than quantity threshold, then described code device is asked to upload described encoding block.
Below in conjunction with the embodiment six shown in Figure 10, above preferred embodiment is described.
Embodiment six:
With reference to Figure 10, show the flow chart of a kind of server process of the embodiment of the present invention, the present embodiment specifically can comprise the following steps:
Step 601, the current signature vector that received code device sends.
Step 602, judges whether server exists current signature vector.When server exists current signature vector, perform step 603; When server does not exist current signature vector, perform step 604.
Step 603, judges whether the coding parameter sets number that current signature vector is corresponding is more than or equal to quantity threshold.If the coding parameter sets number that current signature vector is corresponding is more than or equal to quantity threshold, then perform step 605; If the coding parameter sets number that current signature vector is corresponding is less than quantity threshold, then perform step 606.
It should be noted that, above-mentioned quantity threshold is the maximum coding parameter sets number that server allows to retain.
Step 604, judges whether the accumulative memory space of server is less than storage threshold.When accumulative memory space is less than storage threshold, perform step 606; When accumulative memory space is more than or equal to storage threshold, perform step 607.
Step 605, sends coding parameter sets corresponding to described current signature vector to described code device.
Step 606, asks described code device to upload described encoding block, and judges whether successfully to receive described encoding block, when receiving successfully, performs step 605; When taking defeat, perform step 607.
Step 607, sends to described code device by coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance.
The server process flowsheet synthesis of the present embodiment considers the accumulative memory space of server self, storage threshold and quantity threshold, more perfect to the process of certain characteristic vector, avoid the conflict with server self, be conducive to that cataloged procedure is stable smoothly to carry out constantly.
For aforesaid each embodiment of the method, in order to simple description, therefore it is all expressed as a series of combination of actions, but those skilled in the art should know, the present invention is not by the restriction of described sequence of movement, because according to the present invention, some step can adopt other orders or carry out simultaneously.Secondly, those skilled in the art also should know, the embodiment described in specification all belongs to preferred embodiment, and involved action and module might not be that the present invention is necessary.
Embodiment seven:
With reference to Figure 11, show the structured flowchart of a kind of code device of the embodiment of the present invention, the present embodiment specifically can comprise: divide module 11, extraction module 12, enquiry module 13, first receiver module 14, second receiver module 15 and coding module 16, wherein:
Divide module 11, for video frames/images is divided into encoding block.
Extraction module 12, is connected with described division module 11, for extracting the characteristic vector of described encoding block as current signature vector.
Enquiry module 13, is connected with described extraction module 12, at server with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists.
First receiver module 14, is connected with described enquiry module 13, for inquire when described enquiry module described current signature vector exist time, the coding parameter sets that current signature that reception server returns vector is corresponding.
Second receiver module 15, is connected with described enquiry module 13, for inquire when described enquiry module described current signature vector do not exist time, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.
Coding module 16, is connected with described second receiver module 15 with described first receiver module 14, respectively for encoding according to described coding parameter sets.
It should be noted that, the code device that the present embodiment provides, can be specifically code device, the code device in corresponding preceding method embodiment.
In one preferred embodiment of the invention, described extraction module comprises:
Divide submodule, for described encoding block is divided into multiple coding unit, and using described multiple coding unit successively as current coded unit;
First judges submodule, is connected with described division submodule, for judging that whether described current coded unit is smooth;
Skewness factor module, judge that submodule is connected with described first, for when described first judges that submodule judges that described current coded unit is smooth, the coding division information of described current coded unit is labeled as and no longer divides, calculate the mean value of described current coded unit, and to described mean value according to quantization parameter carry out quantification obtain quantize mean value;
Uneven submodule, judge that submodule is connected with described first, for when described first judges that submodule judges that described current coded unit is uneven, the coding division information of described current coded unit be labeled as and continue to divide, the coding unit after continuation being divided is sent to described first and judges submodule;
Combination submodule, is connected with uneven submodule with described skewness factor module respectively, for by the coding division information of each coding unit, quantize mean value and be combined into the characteristic vector of described encoding block in order.
In one preferred embodiment of the invention, described first judges that submodule comprises:
First computation subunit, is connected with described division submodule, for calculating the horizontal vertical direction gradient absolute value sum of current coded unit;
First judgment sub-unit, is connected with described first computation subunit, for judging whether the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold;
Skewness factor unit, is connected with described first judgment sub-unit, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold, is judged to be smooth by described current coded unit;
Uneven subelement, be connected with described first judgment sub-unit, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, described current coded unit is judged to be unevenness.
In one preferred embodiment of the invention, described first judges that submodule also comprises:
Second judgment sub-unit, be connected with smooth subelement with described first judgment sub-unit, uneven subelement respectively, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, judge whether the size of current coded unit is more than or equal to minimum code cell size;
Described uneven subelement also for, when described second judgment sub-unit judges that the size of described current coded unit is more than or equal to minimum code cell size, described current coded unit is judged to be unevenness;
Described skewness factor unit also for, when described second judgment sub-unit judges that the size of described current coded unit is less than minimum code cell size, described current coded unit is judged to be smooth.
In one preferred embodiment of the invention, described first judges that submodule also comprises:
Second computation subunit, be connected with smooth subelement with described second judgment sub-unit, uneven subelement respectively, for when described second judgment sub-unit judges that the size of described current coded unit is less than minimum code cell size, two-dimensional discrete conversion is carried out to described current coded unit, calculates the residual absolute value sum of the pixel value of described coding unit and the mean value of described coding unit;
3rd judgment sub-unit, is connected with smooth subelement with described second computation subunit, uneven subelement respectively, for judging whether described residual absolute value sum is less than Second Threshold;
Described skewness factor unit also for, when the 3rd judgment sub-unit judges that described residual absolute value sum is less than Second Threshold, described current coded unit is judged to be smooth;
Described uneven subelement also for, when the 3rd judgment sub-unit judges that described residual absolute value sum is more than or equal to Second Threshold, the coefficient after the conversion of described two-dimensional discrete is quantized according to quantization parameter, c1 nonzero coefficient before extracting, described c1 >=1.
In one preferred embodiment of the invention, described extraction module also comprises:
Environment submodule, is connected with described combination submodule, and for extracting the coding environment of described encoding block, described coding environment comprises: the predictive mode on the reference pixel on described encoding block top and the left side, top and the left side and quantization parameter;
Transformation submodule, respectively with described environment submodule with combine submodule and be connected, for carrying out one-dimensional discrete conversion to the reference pixel on described encoding block top and the left side respectively, according to described quantization parameter, c nonzero coefficient before rear extraction is quantized to the reference pixel after conversion, described c >=1;
Described combination submodule also for, the coding division information of the coding environment of described encoding block, each coding unit, the nonzero coefficient that quantizes mean value and extraction are combined in order the characteristic vector of described encoding block.
In one preferred embodiment of the invention, described code device also comprises:
Mapping block, is connected with enquiry module with described extraction module respectively, obtains current signature vector address for carrying out address maps to described current signature vector;
Described enquiry module also for, in the initial characteristics vector-address mapping table of server, inquire about described current signature vector address whether exist;
Described first receiver module also for, when described enquiry module inquire described current signature vector exist time, the coding parameter sets that current signature that reception server returns vector is corresponding;
Described second receiver module also for, when described enquiry module inquire described current signature vector do not exist time, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.
The code device that the present embodiment provides, first, by dividing module 11, video frames/images is divided into encoding block, the characteristic vector of encoding block is extracted as current signature vector by extraction module 12, the data volume of characteristic vector is less, can adaptive wireless environment upstream bandwidth is less preferably characteristic.Secondly, whether the coding parameter Integrated query current signature vector that enquiry module 13 take characteristic vector as index at server exists, first receiver module 14 when enquiry module 13 inquire current signature vector exist time, the coding parameter sets that the current signature vector that reception server returns is corresponding, thus can directly utilize coding parameter sets to encode, encoding means encodes complexity is reduced, saves the scramble time, improve code efficiency.Again, when enquiry module 13 inquire current signature vector do not exist time, upload encoding block to encode to server, not upload whole video frames/images, compared with whole video frames/images, the data volume of encoding block is much smaller, can adaptive wireless environment upstream bandwidth is less better characteristic.Then, if upload successfully, then the coding parameter sets obtained after reception server coding, can make the encoder complexity of code device reduce equally, improve code efficiency.If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with current signature vector distance that return of reception server are corresponding.Due to apart near characteristic vector, the same comparing class of coding parameter sets seemingly, therefore the coding parameter sets that nearest with current signature vector distance one or more characteristic vectors are corresponding, comparing class same with the coding parameter sets of current signature vector seemingly, can obtain good encoding efficiency.Namely the characteristic vector in the present embodiment has certain antijamming capability, when the characteristic vector that server does not mate completely, the coding parameter sets returned according to the characteristic vector that characteristic vector is nearest therewith carries out encoding and can obtain good coding result equally.Last coding module 16 is encoded according to coding parameter sets, can reduce encoder complexity, saves the scramble time thus improves code efficiency.
For device embodiment, due to itself and embodiment of the method basic simlarity, so description is fairly simple, relevant part illustrates see the part of embodiment of the method.
Embodiment eight:
With reference to Figure 12, show the structured flowchart of a kind of server of the embodiment of the present invention, the present embodiment specifically can comprise: initialization module 21, receiver module 22, enquiry module 23, first sending module 24 and the second sending module 25, wherein:
Initialization module 21, for carrying out initialization, setting up with characteristic vector is the coding parameter collection of index.
Receiver module 22, for the current signature vector of the encoding block that received code device sends.
Enquiry module 23, is connected with described receiver module 22 with described initialization module 21 respectively, for described with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists.
First sending module 24, is connected with described enquiry module 23, for inquire when described enquiry module described current signature vector exist time, send coding parameter sets corresponding to described current signature vector to described code device.
Second sending module 25, is connected with described enquiry module 23, for inquire when described enquiry module described current signature vector do not exist time, ask described code device to upload described encoding block; If receive successfully, then described encoding block is encoded, the coding parameter sets of coding gained is sent to described code device, and described coding parameter sets is concentrated at described coding parameter for index stores with current signature vector; If take defeat, then coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
In one preferred embodiment of the invention, described initialization module comprises:
Choose submodule, for choosing multiple video frames/images according to storage threshold;
Divide submodule, be connected with described submodule of choosing, for described video frames/images is divided into encoding block;
Screening submodule, be connected with described division submodule, in described encoding block, select the frequency of occurrences the highest some encoding blocks as initial code block;
Encoding submodule, is connected with described screening submodule, for encoding to described initial code block, obtains coding result;
Parameter extraction submodule, is connected with described encoding submodule, for extracting coding parameter sets from described coding result;
Feature extraction submodule, is connected with screened submodule, for extracting the characteristic vector of described initial code block as initial characteristics vector;
Parameter set submodule, is connected with feature extraction submodule with described parameter extraction submodule respectively, for described initial characteristics vector for coding parameter sets described in index stores, setting up with characteristic vector is the coding parameter collection of index.
In one preferred embodiment of the invention, described initialization module also comprises:
Address submodule, is connected with described feature extraction submodule, and for setting up initial characteristics vector-address mapping table, described initial characteristics vector-address mapping table comprises the one-to-one relationship between initial characteristics vector and its index address.
In one preferred embodiment of the invention, described server also comprises:
First judge module, is connected with the second sending module with described enquiry module respectively, for inquire when described enquiry module described current signature vector do not exist time, judge whether the accumulative memory space of server is less than storage threshold;
Described second sending module also for, when described first judge module judges that the accumulative memory space of server is less than storage threshold, ask described code device to upload described encoding block; When described judge module judges that the accumulative memory space of server is more than or equal to storage threshold, coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
In one preferred embodiment of the invention, described server also comprises:
Second judge module, be connected with the second sending module with described enquiry module, the first sending module respectively, for inquire when described enquiry module described current signature vector exist time, judge whether coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold;
Described first sending module also for, when described second judge module judges that coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold, send coding parameter sets corresponding to described current signature vector to described code device;
Described second sending module also for, when described second judge module judges that coding parameter sets number corresponding to described characteristic vector is less than quantity threshold, ask described code device to upload described encoding block.
The server that the present embodiment provides, first, initialization module 21 carries out initialization, foundation take characteristic vector as the coding parameter collection of index, namely concentrate at coding parameter and prestored a part of coding parameter sets, being convenient to code device directly utilizes the coding parameter sets of storage to encode, and reduces encoder complexity, improves code efficiency.Secondly, the current signature vector of the encoding block that receiver module 22 received code device sends, and whether exist at the coding parameter Integrated query current signature vector taking characteristic vector as index.Be index with characteristic vector during initialization module 21 memory encoding parameter sets, enquiry module 23 can be facilitated to inquire about, and whether the encoding block corresponding to current signature vector carried out process, search efficiency is high, for follow-up return coding parameter sets or carry out other process decrease the time, also can improve code efficiency to a certain extent.And the characteristic vector of received code block with receive compared with complete video frames/images, the data volume of characteristic vector is much smaller, can adaptive wireless environment upstream bandwidth is less preferably characteristic.Again, first sending module 24 enquiry module 23 inquire current signature vector exist time, no longer repeat coded treatment, but directly send coding parameter sets corresponding to current signature vector to code device, avoid repeated encoding to calculate, decrease resource occupation amount, code device can be made to obtain rapidly required coding parameter sets, improve coded treatment efficiency.Then, second sending module 25 inquires when current signature vector does not exist at enquiry module 23 asks code device to upload encoding block, and unsolicitedly upload whole video frames/images, and make uploading data amount less, can adaptive wireless environment upstream bandwidth is less better characteristic.Then, if receive successfully, then encoding block is encoded, the coding parameter sets of coding gained is sent to code device, and coding parameter sets is concentrated at coding parameter for index stores with current signature vector, achieve dynamically updating in real time of coding parameter collection, along with the current signature vector received is more, the coding parameter collection of server is more and more abundanter and perfect, compiles transcoding effect and also progressively promotes.Finally, if take defeat, then coding parameter sets corresponding for one or more characteristic vectors nearest for current signature vector distance is sent to code device.Illustrate that the code device that the present embodiment provides has certain antijamming capability, when the coding parameter stored concentrates coupling less than the coding parameter sets that current signature vector is corresponding, coding parameter sets corresponding for the one or more characteristic vectors nearest in current signature vector distance is sent to code device, due to apart near characteristic vector, seemingly, therefore code device can carry out coding according to above-mentioned coding parameter sets and obtains good encoding efficiency the same comparing class of coding parameter sets equally fast.To sum up, the code device that the present embodiment provides, can save the encoding calculation amount of code device, reduces encoder complexity, improves code efficiency, and avoids the double counting amount of server, reduces resource occupation amount, improves the coded treatment ability of server.
For device embodiment, due to itself and embodiment of the method basic simlarity, so description is fairly simple, relevant part illustrates see the part of embodiment of the method.
Present invention also offers a kind of coded system, comprise the code device as described in embodiment six and the server as described in embodiment seven.This system can save the scramble time of code device side, improves code efficiency.For system embodiment, due to itself and embodiment of the method basic simlarity, so description is fairly simple, relevant part illustrates see the part of preceding method embodiment.
Each embodiment in this specification all adopts the mode of going forward one by one to describe, and what each embodiment stressed is the difference with other embodiments, between each embodiment identical similar part mutually see.
The present invention can describe in the general context of computer executable instructions, such as program module.Usually, program module comprises the routine, program, object, assembly, data structure etc. that perform particular task or realize particular abstract data type.Also can put into practice the present invention in a distributed computing environment, in these distributed computing environment (DCE), be executed the task by the remote processing devices be connected by communication network.In a distributed computing environment, program module can be arranged in the local and remote computer-readable storage medium comprising memory device.
Finally, also it should be noted that, in this article, the such as relational terms of first and second grades and so on is only used for an entity or operation to separate with another entity or operating space, and not necessarily requires or imply the relation that there is any this reality between these entities or operation or sequentially.And, term " comprises ", " comprising " or its any other variant are intended to contain comprising of nonexcludability, thus make to comprise the process of a series of key element, method, commodity or equipment and not only comprise those key elements, but also comprise other key elements clearly do not listed, or also comprise by the intrinsic key element of this process, method, commodity or equipment.When not more restrictions, the key element limited by statement " comprising ... ", and be not precluded within process, method, commodity or the equipment comprising described key element and also there is other identical element.
Above to a kind of coding method provided by the present invention, code device and server, be described in detail, apply specific case herein to set forth principle of the present invention and execution mode, the explanation of above embodiment just understands method of the present invention and core concept thereof for helping; Meanwhile, for one of ordinary skill in the art, according to thought of the present invention, all will change in specific embodiments and applications, in sum, this description should not be construed as limitation of the present invention.
Claims (24)
1. a coding method, is characterized in that, comprising:
Video frames/images is divided into encoding block;
Extract the characteristic vector of described encoding block as current signature vector;
At server with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists;
When described current signature vector exists, the coding parameter sets that the current signature vector that reception server returns is corresponding;
When described current signature vector does not exist, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding;
Encode according to described coding parameter sets.
2. method according to claim 1, is characterized in that, the characteristic vector of the described encoding block of described extraction, comprising:
Step 1, is divided into multiple coding unit by described encoding block, and using described multiple coding unit successively as current coded unit;
Step 2, judges that whether described current coded unit is smooth;
Step 3, when described current coded unit is smooth, is labeled as the coding division information of described current coded unit and no longer divides, calculate the mean value of described current coded unit, and to described mean value according to quantization parameter carry out quantification obtain quantize mean value;
Step 4, when described current coded unit is uneven, is labeled as the coding division information of described current coded unit and continues to divide, to continuing the coding unit repeated execution of steps 2 after dividing;
Step 5, by the coding division information of each coding unit, quantizes the characteristic vector that mean value is combined into described encoding block in order.
3. method according to claim 2, is characterized in that, describedly judges that whether described current coded unit is smooth, comprising:
Calculate the horizontal vertical direction gradient absolute value sum of current coded unit;
Judge whether the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold;
When the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold, described current coded unit is judged to be smooth;
When the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, described current coded unit is judged to be unevenness.
4. method according to claim 3, is characterized in that, describedly judges that whether described current coded unit is smooth, also comprises:
When the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, judge whether the size of current coded unit is more than or equal to minimum code cell size;
When the size of described current coded unit is more than or equal to minimum code cell size, described current coded unit is judged to be unevenness;
When the size of described current coded unit is less than minimum code cell size, described current coded unit is judged to be smooth.
5. method according to claim 4, is characterized in that, describedly judges that whether described current coded unit is smooth, also comprises:
When the size of described current coded unit is less than minimum code cell size, two-dimensional discrete conversion is carried out to described current coded unit, calculate the residual absolute value sum of the pixel value of described coding unit and the mean value of described coding unit;
Judge whether described residual absolute value sum is less than Second Threshold;
When described residual absolute value sum is less than Second Threshold, described current coded unit is judged to be smooth;
When described residual absolute value sum is more than or equal to Second Threshold, the coefficient after described two-dimensional discrete conversion is quantized according to quantization parameter, c1 nonzero coefficient before extracting, described c1 >=1.
6., according to the arbitrary described method of claim 2-5, it is characterized in that, the characteristic vector of the described encoding block of described extraction, also comprises:
Extract the coding environment of described encoding block, described coding environment comprises: the predictive mode on the reference pixel on described encoding block top and the left side, top and the left side and quantization parameter;
Respectively one-dimensional discrete conversion is carried out to the reference pixel on described encoding block top and the left side, according to described quantization parameter, c nonzero coefficient before rear extraction is quantized to the reference pixel after conversion, described c >=1;
The coding division information of the coding environment of described encoding block, each coding unit, the nonzero coefficient that quantizes mean value and extraction are combined in order the characteristic vector of described encoding block.
7. method according to claim 1, is characterized in that, also comprises:
Address maps is carried out to described current signature vector and obtains current signature vector address;
In the initial characteristics vector-address mapping table of server, inquire about described current signature vector address whether exist;
When described current signature vector address exists, the coding parameter sets that the current signature vector that reception server returns is corresponding;
When described current signature vector address does not exist, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.
8. a coding method, is characterized in that, comprising:
Carry out initialization, setting up with characteristic vector is the coding parameter collection of index;
The current signature vector of the encoding block that received code device sends;
Described with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists;
When described current signature vector exists, send coding parameter sets corresponding to described current signature vector to described code device;
When described current signature vector does not exist, described code device is asked to upload described encoding block; If receive successfully, then described encoding block is encoded, the coding parameter sets of coding gained is sent to described code device, and described coding parameter sets is concentrated at described coding parameter for index stores with current signature vector; If take defeat, then coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
9. method according to claim 8, is characterized in that, described in carry out initialization, setting up with characteristic vector is the coding parameter collection of index, comprising:
Multiple video frames/images is chosen according to storage threshold;
Described video frames/images is divided into encoding block;
The some encoding blocks selecting the frequency of occurrences the highest in described encoding block are as initial code block;
Described initial code block is encoded, obtains coding result;
Coding parameter sets is extracted from described coding result;
Extract the characteristic vector of described initial code block as initial characteristics vector;
With described initial characteristics vector for coding parameter sets described in index stores, setting up with characteristic vector is the coding parameter collection of index.
10. method according to claim 9, is characterized in that, described in carry out initialization, setting up with characteristic vector is the coding parameter collection of index, also comprises:
Set up initial characteristics vector-address mapping table, described initial characteristics vector-address mapping table comprises the one-to-one relationship between initial characteristics vector and its index address.
11. methods according to claim 8, is characterized in that, also comprise:
When described current signature vector does not exist, judge whether the accumulative memory space of server is less than storage threshold;
When the accumulative memory space of server is less than storage threshold, described code device is asked to upload described encoding block; When the accumulative memory space of server is more than or equal to storage threshold, coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
12. methods according to claim 8, is characterized in that, also comprise:
When described current signature vector exists, judge whether coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold;
When described coding parameter sets number is more than or equal to quantity threshold, send coding parameter sets corresponding to described current signature vector to described code device;
When described coding parameter sets number is less than quantity threshold, described code device is asked to upload described encoding block.
13. 1 kinds of code devices, is characterized in that, comprising:
Divide module, for video frames/images is divided into encoding block;
Extraction module, is connected with described division module, for extracting the characteristic vector of described encoding block as current signature vector;
Enquiry module, is connected with described extraction module, at server with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists;
First receiver module, is connected with described enquiry module, for inquire when described enquiry module described current signature vector exist time, the coding parameter sets that current signature that reception server returns vector is corresponding;
Second receiver module, is connected with described enquiry module, for inquire when described enquiry module described current signature vector do not exist time, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding;
Coding module, is connected with described second receiver module with described first receiver module respectively, for encoding according to described coding parameter sets.
14. code devices according to claim 13, is characterized in that, described extraction module comprises:
Divide submodule, for described encoding block is divided into multiple coding unit, and using described multiple coding unit successively as current coded unit;
First judges submodule, is connected with described division submodule, for judging that whether described current coded unit is smooth;
Skewness factor module, judge that submodule is connected with described first, for when described first judges that submodule judges that described current coded unit is smooth, the coding division information of described current coded unit is labeled as and no longer divides, calculate the mean value of described current coded unit, and to described mean value according to quantization parameter carry out quantification obtain quantize mean value;
Uneven submodule, judge that submodule is connected with described first, for when described first judges that submodule judges that described current coded unit is uneven, the coding division information of described current coded unit be labeled as and continue to divide, the coding unit after continuation being divided is sent to described first and judges submodule;
Combination submodule, is connected with uneven submodule with described skewness factor module respectively, for by the coding division information of each coding unit, quantize mean value and be combined into the characteristic vector of described encoding block in order.
15. code devices according to claim 14, is characterized in that, described first judges that submodule comprises:
First computation subunit, is connected with described division submodule, for calculating the horizontal vertical direction gradient absolute value sum of current coded unit;
First judgment sub-unit, is connected with described first computation subunit, for judging whether the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold;
Skewness factor unit, is connected with described first judgment sub-unit, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is less than first threshold, is judged to be smooth by described current coded unit;
Uneven subelement, be connected with described first judgment sub-unit, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, described current coded unit is judged to be unevenness.
16. code devices according to claim 15, is characterized in that, described first judges that submodule also comprises:
Second judgment sub-unit, be connected with smooth subelement with described first judgment sub-unit, uneven subelement respectively, during for judging that when described first judgment sub-unit the horizontal vertical direction gradient absolute value sum of described current coded unit is more than or equal to first threshold, judge whether the size of current coded unit is more than or equal to minimum code cell size;
Described uneven subelement also for, when described second judgment sub-unit judges that the size of described current coded unit is more than or equal to minimum code cell size, described current coded unit is judged to be unevenness;
Described skewness factor unit also for, when described second judgment sub-unit judges that the size of described current coded unit is less than minimum code cell size, described current coded unit is judged to be smooth.
17. code devices according to claim 16, is characterized in that, described first judges that submodule also comprises:
Second computation subunit, be connected with smooth subelement with described second judgment sub-unit, uneven subelement respectively, for when described second judgment sub-unit judges that the size of described current coded unit is less than minimum code cell size, two-dimensional discrete conversion is carried out to described current coded unit, calculates the residual absolute value sum of the pixel value of described coding unit and the mean value of described coding unit;
3rd judgment sub-unit, is connected with smooth subelement with described second computation subunit, uneven subelement respectively, for judging whether described residual absolute value sum is less than Second Threshold;
Described skewness factor unit also for, when the 3rd judgment sub-unit judges that described residual absolute value sum is less than Second Threshold, described current coded unit is judged to be smooth;
Described uneven subelement also for, when the 3rd judgment sub-unit judges that described residual absolute value sum is more than or equal to Second Threshold, the coefficient after the conversion of described two-dimensional discrete is quantized according to quantization parameter, c1 nonzero coefficient before extracting, described c1 >=1.
18. according to the arbitrary described code device of claim 14-17, and it is characterized in that, described extraction module also comprises:
Environment submodule, is connected with described combination submodule, and for extracting the coding environment of described encoding block, described coding environment comprises: the predictive mode on the reference pixel on described encoding block top and the left side, top and the left side and quantization parameter;
Transformation submodule, respectively with described environment submodule with combine submodule and be connected, for carrying out one-dimensional discrete conversion to the reference pixel on described encoding block top and the left side respectively, according to described quantization parameter, c nonzero coefficient before rear extraction is quantized to the reference pixel after conversion, described c >=1;
Described combination submodule also for, the coding division information of the coding environment of described encoding block, each coding unit, the nonzero coefficient that quantizes mean value and extraction are combined in order the characteristic vector of described encoding block.
19. code devices according to claim 13, is characterized in that, also comprise:
Mapping block, is connected with enquiry module with described extraction module respectively, obtains current signature vector address for carrying out address maps to described current signature vector;
Described enquiry module also for, in the initial characteristics vector-address mapping table of server, inquire about described current signature vector address whether exist;
Described first receiver module also for, when described enquiry module inquire described current signature vector exist time, the coding parameter sets that current signature that reception server returns vector is corresponding;
Described second receiver module also for, when described enquiry module inquire described current signature vector do not exist time, upload described encoding block and encode to server; If upload successfully, then the coding parameter sets obtained after receiving described server code; If upload failure, then the coding parameter sets that the one or more characteristic vectors nearest with described current signature vector distance that return of reception server are corresponding.
20. 1 kinds of servers, is characterized in that, comprising:
Initialization module, for carrying out initialization, setting up with characteristic vector is the coding parameter collection of index;
Receiver module, for the current signature vector of the encoding block that received code device sends;
Enquiry module, is connected with described receiver module with described initialization module respectively, for described with characteristic vector for whether current signature vector described in the coding parameter Integrated query of index exists;
First sending module, is connected with described enquiry module, for inquire when described enquiry module described current signature vector exist time, send coding parameter sets corresponding to described current signature vector to described code device;
Second sending module, is connected with described enquiry module, for inquire when described enquiry module described current signature vector do not exist time, ask described code device to upload described encoding block; If receive successfully, then described encoding block is encoded, the coding parameter sets of coding gained is sent to described code device, and described coding parameter sets is concentrated at described coding parameter for index stores with current signature vector; If take defeat, then coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
21. servers according to claim 20, is characterized in that, described initialization module comprises:
Choose submodule, for choosing multiple video frames/images according to storage threshold;
Divide submodule, be connected with described submodule of choosing, for described video frames/images is divided into encoding block;
Screening submodule, be connected with described division submodule, in described encoding block, select the frequency of occurrences the highest some encoding blocks as initial code block;
Encoding submodule, is connected with described screening submodule, for encoding to described initial code block, obtains coding result;
Parameter extraction submodule, is connected with described encoding submodule, for extracting coding parameter sets from described coding result;
Feature extraction submodule, is connected with screened submodule, for extracting the characteristic vector of described initial code block as initial characteristics vector;
Parameter set submodule, is connected with feature extraction submodule with described parameter extraction submodule respectively, for described initial characteristics vector for coding parameter sets described in index stores, setting up with characteristic vector is the coding parameter collection of index.
22. servers according to claim 21, is characterized in that, described initialization module also comprises:
Address submodule, is connected with described feature extraction submodule, and for setting up initial characteristics vector-address mapping table, described initial characteristics vector-address mapping table comprises the one-to-one relationship between initial characteristics vector and its index address.
23. servers according to claim 20, is characterized in that, also comprise:
First judge module, is connected with the second sending module with described enquiry module respectively, for inquire when described enquiry module described current signature vector do not exist time, judge whether the accumulative memory space of server is less than storage threshold;
Described second sending module also for, when described first judge module judges that the accumulative memory space of server is less than storage threshold, ask described code device to upload described encoding block; When described judge module judges that the accumulative memory space of server is more than or equal to storage threshold, coding parameter sets corresponding for one or more characteristic vectors nearest for described current signature vector distance is sent to described code device.
24. servers according to claim 20, is characterized in that, also comprise:
Second judge module, be connected with the second sending module with described enquiry module, the first sending module respectively, for inquire when described enquiry module described current signature vector exist time, judge whether coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold;
Described first sending module also for, when described second judge module judges that coding parameter sets number corresponding to described characteristic vector is more than or equal to quantity threshold, send coding parameter sets corresponding to described current signature vector to described code device;
Described second sending module also for, when described second judge module judges that coding parameter sets number corresponding to described characteristic vector is less than quantity threshold, ask described code device to upload described encoding block.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410837910.5A CN104602030B (en) | 2014-12-26 | 2014-12-26 | A kind of coding method, code device and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410837910.5A CN104602030B (en) | 2014-12-26 | 2014-12-26 | A kind of coding method, code device and server |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104602030A true CN104602030A (en) | 2015-05-06 |
CN104602030B CN104602030B (en) | 2018-03-23 |
Family
ID=53127466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410837910.5A Active CN104602030B (en) | 2014-12-26 | 2014-12-26 | A kind of coding method, code device and server |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104602030B (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162199A (en) * | 2015-09-28 | 2016-11-23 | 苏州踪视通信息技术有限公司 | The method and system of the Video processing with reverse channel message management |
CN107888917A (en) * | 2017-11-28 | 2018-04-06 | 北京奇艺世纪科技有限公司 | A kind of image coding/decoding method and device |
CN108322753A (en) * | 2017-01-15 | 2018-07-24 | 上海天荷电子信息有限公司 | Dynamic adjusts the data compression method and device of the element of nearest coding parameter array |
CN108683915A (en) * | 2018-05-11 | 2018-10-19 | 北京奇艺世纪科技有限公司 | A kind of method, apparatus and electronic equipment of write-in dQP values |
CN109510996A (en) * | 2018-10-26 | 2019-03-22 | 西安科锐盛创新科技有限公司 | Rear selection prediction technique in bandwidth reduction |
CN109618162A (en) * | 2018-10-26 | 2019-04-12 | 西安科锐盛创新科技有限公司 | Rear selection prediction technique in bandwidth reduction |
CN109803022A (en) * | 2019-01-30 | 2019-05-24 | 浙江蓝鸽科技有限公司 | A kind of digitalization resource shared system and its method of servicing |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005063309A (en) * | 2003-08-19 | 2005-03-10 | Fuji Photo Film Co Ltd | Object identification method and device, and program |
US20060153299A1 (en) * | 2005-01-07 | 2006-07-13 | Kabushiki Kaisha Toshiba | Coded video sequence conversion apparatus, method and program product for coded video sequence conversion |
US20110090949A1 (en) * | 2008-09-27 | 2011-04-21 | Tencent Technology (Shenzhen) Company Limited | Multi-Channel Video Communication Method And System |
CN102238387A (en) * | 2011-05-25 | 2011-11-09 | 深圳市融创天下科技股份有限公司 | Video entropy code as well as entropy coding method, device and medium |
CN102291580A (en) * | 2011-07-28 | 2011-12-21 | 南京联慧通信技术有限公司 | Video transmission method based on Android system |
CN102591994A (en) * | 2012-03-07 | 2012-07-18 | 我查查信息技术(上海)有限公司 | Information acquisition method and device based on image acquisition device and mobile communication device |
CN103686227A (en) * | 2012-09-17 | 2014-03-26 | 南京中兴力维软件有限公司 | Method, device and system for capturing and coding audio/video of mobile terminal |
-
2014
- 2014-12-26 CN CN201410837910.5A patent/CN104602030B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005063309A (en) * | 2003-08-19 | 2005-03-10 | Fuji Photo Film Co Ltd | Object identification method and device, and program |
US20060153299A1 (en) * | 2005-01-07 | 2006-07-13 | Kabushiki Kaisha Toshiba | Coded video sequence conversion apparatus, method and program product for coded video sequence conversion |
US20110090949A1 (en) * | 2008-09-27 | 2011-04-21 | Tencent Technology (Shenzhen) Company Limited | Multi-Channel Video Communication Method And System |
CN102238387A (en) * | 2011-05-25 | 2011-11-09 | 深圳市融创天下科技股份有限公司 | Video entropy code as well as entropy coding method, device and medium |
CN102291580A (en) * | 2011-07-28 | 2011-12-21 | 南京联慧通信技术有限公司 | Video transmission method based on Android system |
CN102591994A (en) * | 2012-03-07 | 2012-07-18 | 我查查信息技术(上海)有限公司 | Information acquisition method and device based on image acquisition device and mobile communication device |
CN103686227A (en) * | 2012-09-17 | 2014-03-26 | 南京中兴力维软件有限公司 | Method, device and system for capturing and coding audio/video of mobile terminal |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162199A (en) * | 2015-09-28 | 2016-11-23 | 苏州踪视通信息技术有限公司 | The method and system of the Video processing with reverse channel message management |
CN106162199B (en) * | 2015-09-28 | 2020-01-14 | 苏州踪视通信息技术有限公司 | Method and system for video processing with back channel message management |
CN108322753A (en) * | 2017-01-15 | 2018-07-24 | 上海天荷电子信息有限公司 | Dynamic adjusts the data compression method and device of the element of nearest coding parameter array |
CN108322753B (en) * | 2017-01-15 | 2024-04-12 | 上海天荷电子信息有限公司 | Data compression method and device for dynamically adjusting elements of latest coding parameter array |
CN107888917A (en) * | 2017-11-28 | 2018-04-06 | 北京奇艺世纪科技有限公司 | A kind of image coding/decoding method and device |
CN108683915A (en) * | 2018-05-11 | 2018-10-19 | 北京奇艺世纪科技有限公司 | A kind of method, apparatus and electronic equipment of write-in dQP values |
CN109510996A (en) * | 2018-10-26 | 2019-03-22 | 西安科锐盛创新科技有限公司 | Rear selection prediction technique in bandwidth reduction |
CN109618162A (en) * | 2018-10-26 | 2019-04-12 | 西安科锐盛创新科技有限公司 | Rear selection prediction technique in bandwidth reduction |
CN109803022A (en) * | 2019-01-30 | 2019-05-24 | 浙江蓝鸽科技有限公司 | A kind of digitalization resource shared system and its method of servicing |
CN109803022B (en) * | 2019-01-30 | 2022-02-18 | 浙江蓝鸽科技有限公司 | Digital resource sharing system and service method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN104602030B (en) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104602030A (en) | Encoding method and device and server | |
EP3560198B1 (en) | Low-complexity sign prediction for video coding | |
CN110178373B (en) | Method and apparatus for training a classifier and for encoding and decoding video frames | |
WO2018090774A1 (en) | Method and system for bit rate control and version selection for dynamic adaptive video streaming media | |
KR102314801B1 (en) | Selective Blending for Entropy Coding in Video Compression | |
US9699468B2 (en) | Adaptive screen and video coding scheme | |
CN105325004B (en) | Based on the method for video coding and equipment and video encoding/decoding method and equipment with signal transmission sampling point self adaptation skew (SAO) parameter | |
CN104221377B (en) | A kind of video decoding method, device and computer-readable storage medium | |
KR100773761B1 (en) | The apparatus and method of moving picture encoding | |
CN104937936A (en) | Mode decision simplification for intra prediction | |
CN108777794B (en) | Image encoding method and apparatus, storage medium, and electronic apparatus | |
CN103327325A (en) | Intra-frame prediction mode rapid self-adaptation selection method based on HEVC standard | |
CN113382250B (en) | Alpha channel prediction | |
CN104539948A (en) | Video processing system and video processing method | |
CN109565588A (en) | The method and device of colorimetric prediction | |
CN104702959A (en) | Intra-frame prediction method and system of video coding | |
KR20140146548A (en) | Method and device for transforming signal | |
WO2017133753A1 (en) | Vector quantization for video coding using codebook generated by selected training signals | |
WO2018118153A1 (en) | Non-causal overlapped block prediction in variable block size video coding | |
CN117459733B (en) | Video encoding method, apparatus, device, readable storage medium, and program product | |
Uchihara et al. | Quantization parameter control and fast code modification for fast stream joiner | |
CN106231303B (en) | Method for controlling complexity by using prediction mode in HEVC (high efficiency video coding) | |
CN115474046A (en) | Point cloud attribute information encoding method, point cloud attribute information decoding method, point cloud attribute information encoding device, point cloud attribute information decoding device and related equipment | |
WO2022159073A1 (en) | Video coding with guided machine learning restoration | |
Miroshnichenko et al. | Compression of signs of DCT coefficients for additional lossless compression of JPEG images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |