CN108495139A - The Hash Block- matching of screen content coding - Google Patents

The Hash Block- matching of screen content coding Download PDF

Info

Publication number
CN108495139A
CN108495139A CN201810389178.8A CN201810389178A CN108495139A CN 108495139 A CN108495139 A CN 108495139A CN 201810389178 A CN201810389178 A CN 201810389178A CN 108495139 A CN108495139 A CN 108495139A
Authority
CN
China
Prior art keywords
block
cryptographic hash
hash
blocks
sizes
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.)
Pending
Application number
CN201810389178.8A
Other languages
Chinese (zh)
Inventor
刘志
张萌萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
North China University of Technology
Original Assignee
North China University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by North China University of Technology filed Critical North China University of Technology
Priority to CN201810389178.8A priority Critical patent/CN108495139A/en
Publication of CN108495139A publication Critical patent/CN108495139A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

A method of in efficient video coding (HEVC) for being encoded to screen content image, the method includes copying Hash blocks matching module for inter-prediction and intra block, wherein the Hash blocks matching module executes following operation:Hash table is established, including:For present frame, according to sequence from left to right, from top to bottom, each integer pixel position calculates a cryptographic Hash as follows;Based on the Hash table, the estimation based on Hash is carried out to current prediction block.

Description

The Hash Block- matching of screen content coding
Joint study
The application obtains following fund assistance by North China University of Tech and the joint study of information institute of Beijing Jiaotong University: State natural sciences fund (No.61103113, No.60903066), Beijing institution of higher education talent directly under the jurisdiction of a municipal government teach by force in-depth plan item Mesh (PHR201008187);Jiangsu Province's Natural Science Fund In The Light (BK2011455), Beijing's Natural Science Fund In The Light (No.4102049), Ministry of Education beginning teacher fund (No.20090009120006);973 plan (2012CB316400) of country, in Entreat colleges and universities' basic research fund (No.2011JBM214).
Technical field
The present invention relates to images and field of video processing, more specifically, are related to being used in efficient video coding (HEVC) Carry out inter-prediction using Hash Block- matching and intra block copies.
Background technology
In April, 2010, two big international video encoding standard tissue VCEG and MPEG set up video compress joint group JCT- VC (Joint collaborative Team on Video Coding) develops efficient video coding HEVC (High together Efficiency video coding) standard, also referred to as H.265.HEVC standard main target is and previous generation standards H.264/AVC the raising for realizing significantly code efficiency, in particular for high-resolution video sequence.Its target is identical Code check is reduced to the 50% of H.264 standard under video quality (PSNR).
With regard to the current stage, HEVC still continues to use the hybrid encoding frame for H.264 beginning to use.Interframe and intra prediction are compiled Code:Eliminate the correlation of time-domain and spatial domain.Transition coding:Transition coding is carried out to eliminate spatial coherence to residual error.Entropy Coding:Eliminate statistical redundancy.HEVC will put forth effort to study new encoding tool or technology, carry in hybrid encoding frame High video compression efficiency.
Currently, the new features of many codings proposed in the discussion of JCT-VC tissues, it is possible to HEVC marks can be added In standard, the specific document of each discussion can be fromhttp://wftp3.itu.intIt obtains.
The first edition of HEVC standard is completed in the January, 2013.And in April, 2013, in October, 2014 and 3 versions issued in succession in April, 2015, these versions can be obtained easily from network, and the application will be above-mentioned Three versions of HEVC standard are incorporated to the background technology as the present invention in this specification.
Screen content coding is an important extension of efficient video coding, it is for Web conference, remote table sharing And remote teaching is demonstrated by important role.So-called screen content is made of two parts, and a part is captured by video camera Content, another part is the content generated by computer itself, such as table, document.Because the presence of high-frequency content to shield Curtain research content is more difficult compared with natural image.Some based on HEVC improvement so that Video coding efficiency coding and Decoding efficiency all greatly improves.Intra block copy mode, pallet mode etc. are introduced into as new technology.
Invention content
In the present invention, it proposes a kind of in the side that efficient video coding (HEVC) is used to encode screen content image Method, the method includes copying Hash blocks matching module for inter-prediction and intra block, wherein the Hash Block- matching mould Block executes following operation:
Hash table is established, including:
For present frame, according to sequence from left to right, from top to bottom, each integer pixel position calculates as follows Cryptographic Hash:
The cryptographic Hash of 2 × 2 size blocks is calculated according to original pixel value;
The cryptographic Hash of 4 × 4 size blocks is calculated according to the cryptographic Hash of the sub-block of 42 × 2 sizes;
The cryptographic Hash and 4 × 8 size blocks of 8 × 4 size blocks are calculated separately according to the cryptographic Hash of the sub-block of 24 × 4 sizes Cryptographic Hash;
The cryptographic Hash of 8 × 8 size blocks is calculated according to the cryptographic Hash of the sub-block of 44 × 4 sizes;
The cryptographic Hash of 16 × 16 size blocks is calculated according to the cryptographic Hash of the sub-block of 48 × 8 sizes;
The cryptographic Hash of 32 × 32 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 16 × 16 sizes;
The cryptographic Hash of 64 × 64 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 32 × 32 sizes;
If current block is not simple block, current block is added in Hash table, wherein for 4 × 4,8 × 8,16 × 16, the block of 32 × 32,64 × 64 sizes, it is current to judge by determining whether every row pixel value or each column pixel value are all identical Whether block is simple block;For 8 × 4 size blocks, by 34 × 4 blocks on integer pixel position on determined level direction whether All it is simple block, to judge whether current block is simple block;For 4 × 8 size blocks, by judging integer pixel in vertical direction Whether 34 × 4 blocks on position are all simple blocks, to judge whether current block is simple block,
Based on the Hash table, the estimation based on Hash is carried out to current prediction block, including:
The cryptographic Hash of current prediction block is calculated, and searches for match block in Hash table;
If current prediction block depth is 0, if finding the reconstructed image quality of match block and match block unlike desired value difference, Rate-distortion optimization process after then skipping;
If current prediction block depth is not 0 and match block is found, whole pixel motion estimation and half pel motion Estimation procedure is skipped;
If can not find match block, the estimation based on Hash is skipped.
One kind is proposed according to another aspect, in efficient video coding (HEVC) for being encoded to screen content image Device, described device copied using above-mentioned Hash blocks matching module to carry out inter-prediction and intra block.
The present invention proposes the Video Codec using the above method or device according to another aspect,.
According on the other hand, the present invention proposes a kind of computer program product, it includes instruction, described instruction when by When processor executes, the above method is executed.
Description of the drawings
Fig. 1 shows one embodiment of the encoder block diagram of HEVC.
Fig. 2 shows the schematic diagrames according to an embodiment of the invention for establishing Hash table.
Fig. 3 shows the schematic diagram that 4 × 4 and 8 × 4 pieces of cryptographic Hash according to an embodiment of the invention calculates.
Fig. 4 shows the signal of 4 × 8 and 8 × 4 pieces according to an embodiment of the invention of simple block judgment method Figure.
Fig. 5 shows the flow chart according to an embodiment of the invention for executing the method for intra block copy.
Fig. 5 a show the block diagram according to an embodiment of the invention for executing the device of intra block copy.
Specific implementation mode
Various schemes are described referring now to the drawings.In the following description, it in order to explain, elaborates multiple specific thin Section is in order to provide the thorough understanding to one or more schemes.It may be evident, however, that also can without these specific details Enough realize these schemes.
As used in this specification, term " component ", " module ", " system " etc. are intended to refer to related to computer Entity, such as, but not limited to, hardware, firmware, the combination of hardware and software, software or software in execution.For example, Component can be but not limited to:The process that runs on a processor, object, executable (executable), executes processor Thread, program, and/or computer.For example, running application program on the computing device and the computing device can be Component.One or more components can be located in executive process and/or execution thread, and component can be located at a calculating On machine and/or it is distributed on two or more platform computers.In addition, these components can be from various with what is be stored thereon The various computer-readable mediums of data structure execute.Component can be communicated by means of locally and/or remotely process, such as According to the signal with one or more packets, for example, coming from by means of in signal and local system, distributed system Another component interaction and/or with interacted with other systems by means of signal on the network of such as internet etc one The data of component.
Fig. 1 shows the general configuration figure for the video encoder that efficient video coding (HEVC) is realized.The coding of HEVC Device framework is roughly the same with H.264 used encoder architecture, is carried out primarily directed to the algorithm used in modules Further research, improvement, in particular for high-resolution video sequence, improved target is in same video quality (PSNR) code check is reduced to the 50% of H.264 standard under.
Since the encoder architecture of HEVC is roughly the same with H.264 used encoder architecture, this hair is not obscured It is bright, the overall architecture in Fig. 1 is not described in the application.More specifically, present invention is primarily concerned in screen Hold the Hash block matching algorithm of coding.
I. algorithm is summarized
Hash block-based motion estimation is the full frame search carried out in the two-dimensional direction.This is because being contained in Hash table The information of all 8 × 8,16 × 16,32 × 32 and 64 × 64 size Hash blocks in one frame.In the test code of early stage, Hash Worth calculating is all based on directly on pixel value.In current version, the calculating of cryptographic Hash use it is a kind of from bottom to top Mode.For the current block of a 2N × 2N, first detection is that have Hash match block, whole after skipping if there is match block Pixel motion estimates and half pel motion estimation.
1. the foundation of Hash table
The first step of Hash matching process is the foundation of Hash table.The quantity of simple block is determined in the size and image of image The size of Hash table is determined.As shown in Fig. 2, according to sequence from left to right, from top to bottom, calculated on each whole pixel position primary Cryptographic Hash, if current block is not simple block, current block will be added into Hash table.
For each Hash blocks, need to calculate 4 cryptographic Hash.First cryptographic Hash (Hash value1) needs consumption 19 Bit, the index value as Hash table.Wherein preceding 3 bits represent the size of Hash blocks, and 16 bits later are bases What current Hash blocks original pixel value was calculated.In one embodiment, preceding 3 bits, 000,001,010,011,10 He 101 have respectively represented the block of 8 × 8,16 × 16,32 × 32,64 × 64,8 × 4 and 4 × 8 sizes.Second cryptographic Hash (Hash Value2 it is also) to be calculated according to original pixel value, is used to exclude hash-collision, reaches accurate matched purpose.
The calculating process of cryptographic Hash is as follows:
The cryptographic Hash of 2 × 2 size blocks is calculated according to original pixel value.
The cryptographic Hash of 4 × 4 size blocks is calculated according to the sub-block of 42 × 2 sizes.
This process is repeated, the cryptographic Hash of 8 × 8,16 × 16,32 × 32 and 64 × 64 size blocks is calculated.
In addition, according to one embodiment of present invention, also calculating the cryptographic Hash of the block of 8 × 4 and 4 × 8 sizes.With 8 × 4 pieces Calculating for, Fig. 3 shows this process.For one 8 × 4 pieces, the calculating of cryptographic Hash is based on 4 × 4 pieces of two son Cryptographic Hash, the calculating of 4 × 4 pieces of cryptographic Hash is based on the cryptographic Hash of its 2 × 2 pieces of four son, the calculating of 2 × 2 pieces of cryptographic Hash Directly determined by original pixel value.
Meanwhile in entire calculating process, can detect whether current block is simple block.These simple blocks have following spy Sign:Per row pixel value, all identical or each column pixel value is identical.Since these simple blocks can obtain in intra-prediction process Very accurate reconstruction value, so these simple blocks are excluded do not interfere with not only from Hash table the precision of prediction, it can also be very The time that Hash Search is saved in big degree, lower encoder complexity.
The simple block of 8 × 4 and 4 × 8 sizes will not be equally added in Hash table.The judgement of its simple block such as Fig. 4 institutes Show, if 4 × 4 pieces of the son marked as 1,2,3 is all simple block, this this 8 × 4 or 4 × 8 pieces are simple block.In other words, such as it is right In 8 × 4 pieces, it is that all 34 × 4 sub-blocks for being included to it judge (in horizontal direction), such as 4 × 8 pieces, It is that all 34 × 4 sub-blocks for being included judge (in vertical direction) to it.
According to this method, whether the cryptographic Hash and availability (being simple block) of all 2N × N and N × 2N blocks can meanings It calculates and judges.
2. the estimation based on Hash
Motion estimation process based on Hash is as follows:
A) cryptographic Hash of current block is calculated, and searches for match block in Hash table.
If b) current block depth is 0, if finding the reconstructed image quality of match block and match block unlike desired value difference, Rate-distortion optimization process after skipping.If current block depth is not 0 and match block is found, whole pixel motion estimation It is skipped with half pel motion estimation procedure.If can not find match block, the motion estimation process based on Hash is skipped in execution And execute original motion estimation process.
Fig. 5 shows the flow chart according to an embodiment of the invention for executing the method for intra block copy.
In box 501, Hash table is established for present frame.Specifically, as described above also, as illustrated in fig. 2, For present frame, according to sequence from left to right, from top to bottom, each integer pixel position calculates a Hash as follows Value:
The cryptographic Hash of 2 × 2 size blocks is calculated according to original pixel value;
The cryptographic Hash of 4 × 4 size blocks is calculated according to the cryptographic Hash of the sub-block of 42 × 2 sizes, as illustrated in fig. 3;
The cryptographic Hash and 4 × 8 size blocks of 8 × 4 size blocks are calculated separately according to the cryptographic Hash of the sub-block of 24 × 4 sizes Cryptographic Hash, as illustrated in fig. 3;
The cryptographic Hash of 8 × 8 size blocks is calculated according to the cryptographic Hash of the sub-block of 44 × 4 sizes;
The cryptographic Hash of 16 × 16 size blocks is calculated according to the cryptographic Hash of the sub-block of 48 × 8 sizes;
The cryptographic Hash of 32 × 32 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 16 × 16 sizes;
The cryptographic Hash of 64 × 64 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 32 × 32 sizes;
If current block is not simple block, current block is added in Hash table, wherein for 4 × 4,8 × 8,16 × 16, the block of 32 × 32,64 × 64 sizes, it is current to judge by determining whether every row pixel value or each column pixel value are all identical Whether block is simple block;For 8 × 4 size blocks, by 34 × 4 blocks on integer pixel position on determined level direction whether All it is simple block, to judge whether current block is simple block;For 4 × 8 size blocks, by judging integer pixel in vertical direction Whether 34 × 4 blocks on position are all simple blocks, to judge whether current block is simple block, as illustrated in fig. 4.
In box 503, it is based on the Hash table, the estimation based on Hash is carried out to current prediction block.Specific packet It includes:
The cryptographic Hash of current prediction block is calculated, and searches for match block in Hash table;
If current prediction block depth is 0, if finding the reconstructed image quality of match block and match block unlike desired value difference, Rate-distortion optimization process after then skipping;
If current prediction block depth is not 0 and match block is found, whole pixel motion estimation and half pel motion Estimation procedure is skipped;
If can not find match block, the estimation based on Hash is skipped.
It should be readily apparent to one skilled in the art that the above process applies also for inter-prediction after suitably modified.
Fig. 5 a show the block diagram according to an embodiment of the invention for executing the device of intra block copy.
In box 501a, which includes the unit for establishing Hash table for present frame.
The unit can be used for executing following operation:For present frame, according to sequence from left to right, from top to bottom, each Integer pixel position calculates a cryptographic Hash as follows:
The cryptographic Hash of 2 × 2 size blocks is calculated according to original pixel value;
The cryptographic Hash of 4 × 4 size blocks is calculated according to the cryptographic Hash of the sub-block of 42 × 2 sizes, as illustrated in fig. 3;
The cryptographic Hash and 4 × 8 size blocks of 8 × 4 size blocks are calculated separately according to the cryptographic Hash of the sub-block of 24 × 4 sizes Cryptographic Hash, as illustrated in fig. 3;
The cryptographic Hash of 8 × 8 size blocks is calculated according to the cryptographic Hash of the sub-block of 44 × 4 sizes;
The cryptographic Hash of 16 × 16 size blocks is calculated according to the cryptographic Hash of the sub-block of 48 × 8 sizes;
The cryptographic Hash of 32 × 32 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 16 × 16 sizes;
The cryptographic Hash of 64 × 64 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 32 × 32 sizes;
If current block is not simple block, current block is added in Hash table, wherein for 4 × 4,8 × 8,16 × 16, the block of 32 × 32,64 × 64 sizes, it is current to judge by determining whether every row pixel value or each column pixel value are all identical Whether block is simple block;For 8 × 4 size blocks, by 34 × 4 blocks on integer pixel position on determined level direction whether All it is simple block, to judge whether current block is simple block;For 4 × 8 size blocks, by judging integer pixel in vertical direction Whether 34 × 4 blocks on position are all simple blocks, to judge whether current block is simple block, as illustrated in fig. 4.
In box 503a, which further includes carrying out being based on Hash to current prediction block for being based on the Hash table Estimation unit.The unit is configured as executing following operation:
The cryptographic Hash of current prediction block is calculated, and searches for match block in Hash table;
If current prediction block depth is 0, if finding the reconstructed image quality of match block and match block unlike desired value difference, Rate-distortion optimization process after then skipping;
If current prediction block depth is not 0 and match block is found, whole pixel motion estimation and half pel motion Estimation procedure is skipped;
If can not find match block, the estimation based on Hash is skipped.
The above embodiment of the present invention can all be realized as the encoder based on HEVC.The inside of the encoder based on HEVC Structure can be as shown in Figure 1.It should be appreciated by those skilled in the art that the decoder can be implemented as software, hardware and/or consolidate Part.
When implemented in hardware, video encoder can use general processor, digital signal processor (DSP), special collection At circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device Part, discrete hardware components are designed as executing its arbitrary combination of function described herein, to realize or execute.General processor Can be microprocessor, but alternatively, which can also be any conventional processor, controller, microcontroller Or state machine.Processor can also be embodied as the combination of computing device, for example, the combining of DSP and microprocessor, multiple micro- places Manage the combination of device, the combination of one or more microprocessors and DSP core or any other such structure.In addition, at least one A processor may include operable to execute one or more modules of above-mentioned one or more steps and/or operation.
When with the hardware circuits such as ASIC, FPGA come when realizing video encoder, may include be configured as executing it is various The various circuit blocks of function.Those skilled in the art can be according to the various constraintss applied over the whole system come with various Mode designs and realizes these circuits, to realize various functions disclosed in this invention.
Although aforementioned open file discusses exemplary arrangement and/or embodiment, it should be noted that being wanted without departing substantially from by right In the case of seeking the scheme of description and/or the range of embodiment that book defines, many change and modification can be made herein.And And although in the singular describe or require the scheme and/or embodiment element, it is also contemplated that plural number feelings Condition is limited to odd number unless expressly stated.In addition, all or part of arbitrary scheme and/or embodiment can with it is arbitrary its Its scheme and/or all or part of of embodiment are used in combination, unless showing different.

Claims (8)

1. a kind of method for being used to encode screen content image in efficient video coding (HEVC), the method includes will Hash blocks matching module is copied for inter-prediction and intra block, wherein the Hash blocks matching module executes following operation:
Hash table is established, including:
For present frame, according to sequence from left to right, from top to bottom, each integer pixel position calculates once as follows Cryptographic Hash:
The cryptographic Hash of 2 × 2 size blocks is calculated according to original pixel value;
The cryptographic Hash of 4 × 4 size blocks is calculated according to the cryptographic Hash of the sub-block of 42 × 2 sizes;
The Hash of the cryptographic Hash and 4 × 8 size blocks of 8 × 4 size blocks is calculated separately according to the cryptographic Hash of the sub-block of 24 × 4 sizes Value;
The cryptographic Hash of 8 × 8 size blocks is calculated according to the cryptographic Hash of the sub-block of 44 × 4 sizes;
The cryptographic Hash of 16 × 16 size blocks is calculated according to the cryptographic Hash of the sub-block of 48 × 8 sizes;
The cryptographic Hash of 32 × 32 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 16 × 16 sizes;
The cryptographic Hash of 64 × 64 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 32 × 32 sizes;
If current block is not simple block, current block is added in Hash table, wherein for 4 × 4,8 × 8,16 × 16, The block of 32 × 32,64 × 64 sizes, by determining per row pixel value or whether each column pixel value is all identical, to judge that current block is No is simple block;For 8 × 4 size blocks, by 34 × 4 blocks on integer pixel position on determined level direction whether be all Simple block, to judge whether current block is simple block;For 4 × 8 size blocks, by judging in vertical direction on integer pixel position 34 × 4 blocks whether be all simple block, to judge whether current block is simple block,
Based on the Hash table, the estimation based on Hash is carried out to current prediction block, including:
The cryptographic Hash of current prediction block is calculated, and searches for match block in Hash table;
If current prediction block depth is 0, if the reconstructed image quality for finding match block and match block is jumped unlike desired value difference Rate-distortion optimization process after crossing;
If current prediction block depth is not 0 and match block is found, whole pixel motion estimation and half pel motion estimation Process is skipped;
If can not find match block, the estimation based on Hash is skipped.
2. being the method for claim 1, wherein directed to each block, two cryptographic Hash are calculated:First cryptographic Hash is Hash table Index, and preceding 4 bits of first cryptographic Hash are determined based on block size, and remaining bit is according to current block Original pixel value calculate, the second cryptographic Hash is calculated according to original pixel value.
3. a kind of device for being used to encode screen content image in efficient video coding (HEVC), described device includes breathing out Uncommon Block- matching module is copied for inter-prediction and intra block, wherein the Hash blocks matching module executes following operation:
Hash table is established, including:
For present frame, according to sequence from left to right, from top to bottom, each integer pixel position calculates once as follows Cryptographic Hash:
The cryptographic Hash of 2 × 2 size blocks is calculated according to original pixel value;
The cryptographic Hash of 4 × 4 size blocks is calculated according to the cryptographic Hash of the sub-block of 42 × 2 sizes;
The Hash of the cryptographic Hash and 4 × 8 size blocks of 8 × 4 size blocks is calculated separately according to the cryptographic Hash of the sub-block of 24 × 4 sizes Value;
The cryptographic Hash of 8 × 8 size blocks is calculated according to the cryptographic Hash of the sub-block of 44 × 4 sizes;
The cryptographic Hash of 16 × 16 size blocks is calculated according to the cryptographic Hash of the sub-block of 48 × 8 sizes;
The cryptographic Hash of 32 × 32 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 16 × 16 sizes;
The cryptographic Hash of 64 × 64 size blocks is calculated according to the cryptographic Hash of the sub-block of 4 32 × 32 sizes;
If current block is not simple block, current block is added in Hash table, wherein for 4 × 4,8 × 8,16 × 16, The block of 32 × 32,64 × 64 sizes, by determining per row pixel value or whether each column pixel value is all identical, to judge that current block is No is simple block;For 8 × 4 size blocks, by 34 × 4 blocks on integer pixel position on determined level direction whether be all Simple block, to judge whether current block is simple block;For 4 × 8 size blocks, by judging in vertical direction on integer pixel position 34 × 4 blocks whether be all simple block, to judge whether current block is simple block,
Based on the Hash table, the estimation based on Hash is carried out to current prediction block, including:
The cryptographic Hash of current prediction block is calculated, and searches for match block in Hash table;
If current prediction block depth is 0, if the reconstructed image quality for finding match block and match block is jumped unlike desired value difference Rate-distortion optimization process after crossing;
If current prediction block depth is not 0 and match block is found, whole pixel motion estimation and half pel motion estimation Process is skipped;
If can not find match block, the estimation based on Hash is skipped.
4. being the method for claim 1, wherein directed to each block, two cryptographic Hash are calculated:First cryptographic Hash is Hash table Index, and preceding 4 bits of first cryptographic Hash are determined based on block size, and remaining bit is according to current block Original pixel value calculate, the second cryptographic Hash is calculated according to original pixel value.
5. a kind of video of the device of method or claim 3-4 for realizing described in any one of claim 1-2 compiles solution Code device.
6. a kind of computer program product requiring the method described in any one of 1-2 for perform claim.
7. a kind of requiring that the method described in any one of 1-2 generates according to perform claim or described in claim 3-4 The encoded video stream of device code.
8. a kind of Video Decoder, for decode according to perform claim require method generation described in any one of 1-2 or by The encoded video stream of device code described in claim 3-4.
CN201810389178.8A 2018-04-18 2018-04-18 The Hash Block- matching of screen content coding Pending CN108495139A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810389178.8A CN108495139A (en) 2018-04-18 2018-04-18 The Hash Block- matching of screen content coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810389178.8A CN108495139A (en) 2018-04-18 2018-04-18 The Hash Block- matching of screen content coding

Publications (1)

Publication Number Publication Date
CN108495139A true CN108495139A (en) 2018-09-04

Family

ID=63314297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810389178.8A Pending CN108495139A (en) 2018-04-18 2018-04-18 The Hash Block- matching of screen content coding

Country Status (1)

Country Link
CN (1) CN108495139A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743570A (en) * 2019-01-09 2019-05-10 北京工业大学 A kind of compression method of screen content video
CN110730344A (en) * 2019-09-18 2020-01-24 浙江大华技术股份有限公司 Video coding method and device and computer storage medium
CN111225214A (en) * 2020-01-22 2020-06-02 北京字节跳动网络技术有限公司 Video processing method and device and electronic equipment
CN111246208A (en) * 2020-01-22 2020-06-05 北京字节跳动网络技术有限公司 Video processing method and device and electronic equipment
WO2020140952A1 (en) * 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd Hash-based motion searching
CN112804528A (en) * 2021-02-05 2021-05-14 北京字节跳动网络技术有限公司 Screen content processing method, device and equipment
CN113365065A (en) * 2021-06-09 2021-09-07 湖南大学 Lossless video coding method and decoding method for RPA robot screen recording
CN113542750A (en) * 2021-05-27 2021-10-22 绍兴市北大信息技术科创中心 Data coding method for searching by two or more sets of hash tables

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281538A (en) * 2013-06-06 2013-09-04 上海交通大学 Intra-frame coding method based on rolling hush and block-level intra-frame prediction
US20170302936A1 (en) * 2014-09-30 2017-10-19 Microsoft Technology Licensing, Llc Hash-based encoder decisions for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281538A (en) * 2013-06-06 2013-09-04 上海交通大学 Intra-frame coding method based on rolling hush and block-level intra-frame prediction
US20170302936A1 (en) * 2014-09-30 2017-10-19 Microsoft Technology Licensing, Llc Hash-based encoder decisions for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱昂: "基于文字块识别和长方形哈希块匹配的屏幕内容编码优化方案", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11558638B2 (en) 2019-01-02 2023-01-17 Beijing Bytedance Network Technology Co., Ltd. Hash-based motion searching
US11805274B2 (en) 2019-01-02 2023-10-31 Beijing Bytedance Network Technology Co., Ltd Early determination of hash-based motion searching
WO2020140954A1 (en) * 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd Simplification of hash-based motion searching
WO2020140952A1 (en) * 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd Hash-based motion searching
US11616978B2 (en) * 2019-01-02 2023-03-28 Beijing Bytedance Network Technology Co., Ltd. Simplification of hash-based motion searching
CN109743570A (en) * 2019-01-09 2019-05-10 北京工业大学 A kind of compression method of screen content video
CN109743570B (en) * 2019-01-09 2021-07-06 北京工业大学 Method for compressing screen content video
CN110730344A (en) * 2019-09-18 2020-01-24 浙江大华技术股份有限公司 Video coding method and device and computer storage medium
CN110730344B (en) * 2019-09-18 2022-04-19 浙江大华技术股份有限公司 Video coding method and device and computer storage medium
CN111225214A (en) * 2020-01-22 2020-06-02 北京字节跳动网络技术有限公司 Video processing method and device and electronic equipment
CN111246208A (en) * 2020-01-22 2020-06-05 北京字节跳动网络技术有限公司 Video processing method and device and electronic equipment
CN111225214B (en) * 2020-01-22 2022-08-12 北京字节跳动网络技术有限公司 Video processing method and device and electronic equipment
CN112804528A (en) * 2021-02-05 2021-05-14 北京字节跳动网络技术有限公司 Screen content processing method, device and equipment
CN113542750A (en) * 2021-05-27 2021-10-22 绍兴市北大信息技术科创中心 Data coding method for searching by two or more sets of hash tables
CN113365065A (en) * 2021-06-09 2021-09-07 湖南大学 Lossless video coding method and decoding method for RPA robot screen recording
CN113365065B (en) * 2021-06-09 2024-04-26 湖南大学 Lossless video coding method and decoding method for RPA robot screen recording

Similar Documents

Publication Publication Date Title
CN108495139A (en) The Hash Block- matching of screen content coding
US8787459B2 (en) Video coding methods and apparatus
CN101529920B (en) Method and apparatus for local illumination and color compensation without explicit signaling
CN105227960B (en) For the Low-complexity intra prediction of Video coding
CN102685532B (en) Coding method for free view point four-dimensional space video coding system
JP7416490B2 (en) Method and apparatus and computer program for deep neural network-based interframe prediction in video coding
US11025917B2 (en) Method and apparatus for video coding
WO2008020734A1 (en) A method and apparatus for encoding or decoding frames of different views in multiview video using global disparity
WO2021203841A1 (en) Inter-frame predication method, encoder, decoder, and storage medium
CN103813173B (en) BCIM-based 3D-HEVC rapid intra-frame predication scheme
CN110692241A (en) Diversified motion using multiple global motion models
CN109246430A (en) 360 degree of video fast intra-mode predictions of virtual reality and CU, which are divided, shifts to an earlier date decision
KR20120095611A (en) Method and apparatus for encoding/decoding multi view video
CN107360433A (en) A kind of interframe prediction encoding method and device
US20220224943A1 (en) Method and apparatus for video coding
CN109120928A (en) Improvement intra block based on Character segmentation copies algorithm
TW202139700A (en) Interframe prediction method, encoder, decoder, and storage medium
WO2021196211A1 (en) Inter-frame prediction method, encoder, decoder, and storage medium
EP4169251A1 (en) Method and apparatus for temporal filter in video coding
CN109889831A (en) 360 degree of video intra mode decisions based on CU size
CN110062228A (en) 360 degree of video quick intraframe prediction algorithms based on WMSE
CN103002279B (en) Encode the method and its corresponding device of simultaneously reconstructed pixel block
RU2777394C1 (en) Method and device for video encoding
JP2008017304A (en) Image coding device, image decoding device, image coding method, and image coding program
KR20240056589A (en) Use of affine models in affine two-way matching

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180904

WD01 Invention patent application deemed withdrawn after publication