CN109714598B - Video encoding method, decoding method, processing method and video processing system - Google Patents

Video encoding method, decoding method, processing method and video processing system Download PDF

Info

Publication number
CN109714598B
CN109714598B CN201910100635.1A CN201910100635A CN109714598B CN 109714598 B CN109714598 B CN 109714598B CN 201910100635 A CN201910100635 A CN 201910100635A CN 109714598 B CN109714598 B CN 109714598B
Authority
CN
China
Prior art keywords
image
video
frame
slice
rectangular
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.)
Active
Application number
CN201910100635.1A
Other languages
Chinese (zh)
Other versions
CN109714598A (en
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.)
SHANGHAI GMT DIGITAL TECHNOLOGY CO LTD
Original Assignee
SHANGHAI GMT DIGITAL TECHNOLOGY CO LTD
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 SHANGHAI GMT DIGITAL TECHNOLOGY CO LTD filed Critical SHANGHAI GMT DIGITAL TECHNOLOGY CO LTD
Priority to CN201910100635.1A priority Critical patent/CN109714598B/en
Publication of CN109714598A publication Critical patent/CN109714598A/en
Application granted granted Critical
Publication of CN109714598B publication Critical patent/CN109714598B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention provides a video coding method, a video decoding method, a video processing method and a video processing system, firstly dividing each frame of image of a video into a plurality of rectangular sheets distributed in an array, then whether the slicing mode of each frame image is the same and whether only the collocated slice is referred to in coding is determined to determine the coding rule, and the first flag bit and the second flag bit in the video sequence header are used for indicating the slicing mode and the reference mode, storing the slicing information in the video sequence head or the image head according to different slicing modes, finally coding each rectangular slice of each frame of image according to the coding rule and splicing to form a video coding bit stream, when decoding, the encoding rule is obtained according to the first zone bit and the second zone bit, then decoding is carried out according to the decoding rule corresponding to the encoding rule, therefore, the rectangular slices contained in the two frames of images with reference relationship can be processed in parallel.

Description

Video encoding method, decoding method, processing method and video processing system
Technical Field
The present invention relates to the field of video processing technologies, and in particular, to a video encoding method, a video decoding method, a video processing method, and a video processing system.
Background
Because the computation amount of video encoding and decoding is very large, the parallel encoding and decoding method is an important research topic. In recent years, with the increasing demand for video resolution and frame rate, video programs with resolutions of 4K (3840x2160@50fps) and 8K (7680x4320@100fps) or even higher have appeared, and the calculation amount of coding and decoding has been increased by times. On the other hand, the calculator for processing video data is also developing towards multi-core direction, and 4-core, 8-core and even 64-core processors appear in succession, and the requirement for parallel video processing is becoming stronger and stronger.
However, conventional video coding standards do not support parallel processing well. Because video compression encoding uses the correlation between video data, the currently encoded or decoded data is predicted according to the encoded or decoded video data, so that the compression efficiency is improved, and meanwhile, the data are in a dependency relationship, so that the video data need to be processed according to a certain sequence.
Of course, the conventional video coding standard can also perform some parallel processing, for example, dividing the video into a plurality of groups of pictures, each group being independently coded; for example, according to the reference relationship between the video images, finding out the video images without the reference relationship for parallel processing; for example, according to the reference relationship between the coding units, finding out the coding units without reference relationship for parallel processing; for another example, a video image is divided into slices (slices), which are defined not to be referenced to each other, so that the slices can be processed in parallel, and so on.
The traditional slice division method is flexible, and only the slice is specified to be a plurality of coding units which are continuous in the coding sequence. Therefore, the slice dividing modes among different video images can be different, and the slices contained in different video images have no stable corresponding relation. This brings some limitations to the parallelism of video encoding and decoding, for example, slices of a video picture having a reference relationship cannot be processed in parallel, and all slices of a reference picture must be encoded or decoded before the next picture can be encoded or decoded.
Disclosure of Invention
The invention aims to provide a video encoding method, a video decoding method, a video processing method and a video processing system, which can process rectangular slices contained in two frames of images with reference relationship in parallel.
In order to achieve the above object, the present invention provides a video encoding method, including:
dividing each frame of image of a video into a plurality of rectangular sheets distributed in an array, wherein the number of pixel rows in the rectangular sheets in the same row is equal, and the number of pixel columns in the rectangular sheets in the same column is equal;
whether the slicing modes of each frame of image are the same or not is regulated, whether the same-position slice is only referred to during coding or not is regulated to determine a coding rule, and whether the slicing modes of each frame of image are the same or not is indicated by utilizing a first zone bit in a video sequence header; when the slicing modes of each frame of image are different, storing the slicing information of the frame of image in the image header of each frame of image; when the slicing mode of each frame of image is the same, storing slicing information in the video sequence header, and using a second flag bit in the video sequence header to indicate whether only a same-position slice is referred to during coding;
and coding each frame of image and each rectangular slice in each frame of image according to the coding rule to form coded data, and sequentially splicing the video sequence header, the image header of each frame of image and the coded data of the rectangular slices of the frame of image to form a video coding bit stream.
Optionally, the co-located slice is a rectangular slice with the same spatial position and size in different images.
Optionally, when the second flag indicates that only the co-located slice is referred to during encoding, only the co-located slice is referred to during encoding of each rectangular slice of each frame of picture, where the reference-only co-located slice means that the prediction value of the pixel in the inter-prediction block in the rectangular slice being encoded is obtained according to the reconstructed pixel value of the co-located rectangular slice in the reference picture.
Optionally, when the second flag bit indicates that encoding is performed, only a slice with the same position is referred to, and after encoding of one rectangular slice in the reference image is completed, encoding is started for a rectangular slice with the same position in a next frame image corresponding to the rectangular slice.
Optionally, when each rectangular slice of each frame of image is encoded according to the encoding rule, the rectangular slices of the same frame of image do not refer to each other in the intra-frame prediction, motion vector prediction, coding unit coding mode prediction, prediction mode prediction, and entropy coding processes.
Optionally, after each rectangular slice of each frame of image is encoded according to the encoding rule, a slice header is inserted before the encoded data of each rectangular slice, where the slice header includes a slice index corresponding to the rectangular slice.
Optionally, the slice index is a serial number of the rectangular slices arranged according to a raster scanning order.
Optionally, any rectangular slice in each frame of image includes an integer number of maximum coding units, and the rectangular slice is cut off to the image boundary when the right side boundary and/or the lower side boundary of the rectangular slice exceeds the image boundary.
The invention also provides a video decoding method, which is used for decoding the video coding bit stream formed by the video coding method, and comprises the following steps:
acquiring a video coding bit stream and analyzing a video sequence header to acquire a first zone bit;
judging whether the slicing modes of each frame of image in the video coding bit stream are the same or not according to the first zone bit; if the slicing modes of each frame of image in the video coding bit stream are different, analyzing each image head to obtain the slicing information of each frame of image; if the slicing mode of each frame of image in the video coding bit stream is the same, the slicing information of each frame of image is obtained from the video sequence head, and a second flag bit in the video sequence head is obtained to judge whether only a same-position slice is referred when the video coding bit stream is coded;
and decoding the rectangular slices in each frame of image according to a decoding rule corresponding to the encoding rule to form reconstruction slices, sequentially splicing the reconstruction slices to form a reconstruction image, and splicing the reconstruction images of the video coding bit stream to form a reconstruction video.
Optionally, when the second flag indicates that only the slice with the same position is referred to during encoding of the video encoded bitstream, after decoding of the slice with the same position in the reference picture of one of the rectangular slices is completed, the slice with the same position starts decoding.
The invention also provides a video processing method, which comprises the following steps:
coding each frame of image of a video by using the video processing method and forming a video coding bit stream;
and decoding the video coding bit stream by using the video decoding method.
The present invention also provides a video encoding apparatus, comprising:
the scribing module is used for dividing each frame of image of the video into a plurality of rectangular sheets distributed in an array, the number of pixel rows in the rectangular sheets in the same row is equal, and the number of pixel columns in the rectangular sheets in the same row is equal;
the encoding rule making module is used for determining whether the slicing modes of each frame of image are the same and whether only the same-position slice is referred during encoding so as to determine the encoding rule, and the first flag bit in the video sequence header is used for indicating whether the slicing modes of each frame of image are the same; when the slicing modes of each frame of image are different, storing the slicing information of the frame of image in the image header of each frame of image; when the slicing mode of each frame of image is the same, storing slicing information in the video sequence header, and using a second flag bit in the video sequence header to indicate whether only a same-position slice is referred to during coding;
and the coding module is used for coding each frame of image and each rectangular slice in each frame of image according to the coding rule to form coded data, and sequentially splicing the video sequence header, the image header of each frame of image and the coded data of the rectangular slices of the frame of image to form a video coding bit stream.
The present invention also provides a video decoding apparatus, comprising:
the video coding bit stream acquisition module is used for acquiring a video coding bit stream;
the analysis module is used for analyzing the video sequence header to obtain a first zone bit and judging whether the slicing modes of each frame of image in the video coding bit stream are the same or not according to the first zone bit; if the slicing modes of each frame of image in the video coding bit stream are different, analyzing each image head to obtain the slicing information of each frame of image; if the slicing mode of each frame of image in the video coding bit stream is the same, the slicing information of each frame of image is obtained from the video sequence head, and a second flag bit in the video sequence head is obtained to judge whether only a same-position slice is referred when the video coding bit stream is coded;
and the decoding module is used for decoding the rectangular slices of each frame of image according to the decoding rules corresponding to the coding rules to form reconstruction slices, sequentially splicing the reconstruction slices to form reconstruction images, and splicing the reconstruction images of the video coding bit streams to form reconstruction videos.
The invention also provides a video processing system, which comprises the video coding device and the video decoding device, wherein the video coding device codes a video and forms a video coding bit stream, and the video decoding device decodes the video coding bit stream.
In the video encoding method, the video decoding method, the video processing method and the video processing system, each frame of image of the video is firstly divided into a plurality of rectangular sheets distributed in an array, then whether the slicing mode of each frame image is the same and whether only the collocated slice is referred to in coding is determined to determine the coding rule, and the first flag bit and the second flag bit in the video sequence header are used for indicating the slicing mode and the reference mode, storing the slicing information in the video sequence head or the image head according to different slicing modes, finally coding each rectangular slice of each frame of image according to the coding rule and splicing to form a video coding bit stream, when decoding, the encoding rule is obtained according to the first zone bit and the second zone bit, then decoding is carried out according to the decoding rule corresponding to the encoding rule, therefore, the rectangular slices contained in the two frames of images with reference relationship can be processed in parallel.
Drawings
Fig. 1 is a flowchart of a video encoding method according to an embodiment of the present invention;
fig. 2 is a flowchart of a video decoding method according to an embodiment of the present invention;
fig. 3 is a block diagram of a video processing system according to an embodiment of the present invention;
wherein the reference numerals are:
1-a video encoding device; 11-a scribing module; 12-a coding rule making module; 13-an encoding module; 2-a video decoding device; 21-video coding bit stream acquisition module; 22-an analysis module; 23-decoding module.
Detailed Description
The following describes in more detail embodiments of the present invention with reference to the schematic drawings. Advantages and features of the present invention will become apparent from the following description and claims. It is to be noted that the drawings are in a very simplified form and are not to precise scale, which is merely for the purpose of facilitating and distinctly claiming the embodiments of the present invention.
As shown in fig. 1, the present embodiment provides a video encoding method, including:
step S11: each frame image of a video is divided into a plurality of rectangular sheets (patch) distributed in an array mode, each pixel of one frame image belongs to one rectangular sheet and only belongs to one rectangular sheet, regular rows and regular columns are formed among the rectangular sheets, namely the number of the pixel rows in each rectangular sheet is equal, and the number of the pixel columns in each rectangular sheet is equal. Wherein, the rectangular slice includes all component information of the pixels, for example, in a color video sequence, if each pixel includes a luminance component and two color difference components, the rectangular slice also includes a luminance component and two color difference components of the pixel; if a video sequence contains only a luminance component per pixel, the rectangular slice also contains only a luminance component per pixel.
It is understood that each video includes a plurality of frames of images, and the slicing manner of each frame of image may be the same or different. The divided rectangular slice contains an integer number of largest coding units in video coding, except for the case where there is less than one largest coding unit at the rightmost and bottommost sides of the picture, which is also counted as one largest coding unit.
Step S12: the encoding rule is determined, i.e. whether the slicing mode of each frame of image is the same and whether only the collocated slice is referred to in encoding. Firstly, a video sequence header is established, and then a first flag bit (flag1) is set in the video sequence header to indicate whether the slicing mode of each frame of image is the same, for example, when the slicing mode of each frame of image is the same, the flag1 is 0, and when the slicing mode of each frame of image is different, the flag1 is 1. If the first flag indicates that the slicing manner of each frame of image is the same, and the rectangular slices that are the same in spatial position of different images are defined as co-located-slices (co-located-slices), it can be understood that the sizes of the co-located-slices are also necessarily the same; if the first flag bit indicates that the slicing mode of each frame of image is different, the slicing mode of each frame of image can be different, and a rectangular slice of a certain frame of image cannot necessarily find a slice with the same position and size as the rectangular slice in other images. Further, if the slicing mode of each frame of image is the same, when any rectangular slice is coded, only the co-located slice may be referred to, or not only the co-located slice, but also slices (different-located slices) other than the co-located slice may be referred to; if the slicing mode of each frame of image is different, no co-location slice exists, and all slices referred to when any rectangular slice is coded are different. Here, "only reference co-located slice" refers to a pixel value in an inter prediction block of a rectangular slice being coded, and is derived only from a reconstructed pixel value of the co-located slice in a reference picture, and does not depend on information of other rectangular slices in the reference picture.
Further, when the slicing mode of each frame of image is different, the slicing information of the frame of image is stored in the image header of each frame of image; when the slicing mode of each frame of image is the same, it is sufficient to store the slicing information in the video sequence header, and a second flag (flag2) is set in the video sequence header to indicate whether to refer to only the co-located slice during encoding, for example, if only the co-located slice is referred to during encoding, the flag2 is 0, and if not, the flag2 is 1. The slice information comprises the number of pixel rows contained in each row of rectangular slices and the number of pixel columns contained in each column of rectangular slices, wherein the number of pixel rows of each row of rectangular slices and the number of pixel columns of each column of rectangular slices are integral multiples of the size of the maximum coding unit, and when the right side boundary and/or the lower side boundary of each rectangular slice exceeds the image boundary, the rectangular slice is cut off to the image boundary.
Step S13, encoding each frame of image according to the encoding rule, if the second flag bit indicates that only the co-located slice is referred to during encoding, after a certain rectangular slice in the reference image completes encoding, the co-located slice in the next frame of image can start the encoding process without waiting for other rectangular slices in the reference image to complete encoding; if the second flag bit indicates that the encoding is not only performed with reference to the slice with the same position, the encoding of the next frame of picture can be started only after all the rectangular slices in the reference picture are encoded. And then coding each rectangular slice in each frame of image, wherein the rectangular slices in the same frame of image are not mutually referred, so that the rectangular slices can be sequentially coded in series or coded in parallel, and the expression that the rectangular slices in the same frame of image are not mutually referred in the processes of intra-frame prediction, motion vector prediction, coding unit coding mode prediction, prediction mode prediction and entropy coding means that the rectangular slices are not mutually referred. After the encoding is finished, a slice header is set before the encoded data corresponding to each rectangular slice, and the slice header contains a slice index (only the serial number of the rectangular slices arranged according to the raster scanning sequence) and a reconstruction value of each pixel contained in the rectangular slice. Then the coded data of the rectangular slice belonging to the same frame image and the image head of the frame image are spliced into the coded data of the frame image, and the coded data of all the image frames of the video sequence and the video sequence head are spliced to form a video coding bit stream.
Next, as shown in fig. 2, the present embodiment further provides a video decoding method, including:
step S21: firstly, acquiring a video coding bit stream and analyzing a video sequence header to acquire a first zone bit;
step S22: judging whether the slicing modes of each frame of image in the video coding bit stream are the same or not according to the first zone bit; if the flag1 is equal to 1, the slicing modes of each frame of image in the video coding bit stream are different, the slicing information of each frame of image is stored in the image header, and each image header is sequentially analyzed to obtain the slicing information of each frame of image; if the flag1 is equal to 0, the slicing mode of each frame of image in the video coded bitstream is the same, the slicing information of the entire video coded bitstream is stored in the video sequence header, the slicing information of each frame of image can be directly obtained from the video sequence header, and then the second flag bit in the video sequence header is continuously obtained to judge whether the video coded bitstream is coded by only referring to the same-position slice. And rapidly acquiring a coding rule according to the first zone bit and the second zone bit.
Step S23: and decoding all the rectangular sheets of each frame of image according to a decoding rule corresponding to the coding rule, and acquiring a sheet head of each rectangular sheet to obtain a sheet index, wherein the rectangular sheets in the same frame of image can be sequentially decoded in series or decoded in parallel. If flag2 is 0, it indicates that only the co-located slice is referred to when encoding each rectangular slice, and the rectangular slice can start decoding after decoding the co-located slice in the reference picture; if flag2 does not exist (flag1 indicates that the way in which pictures in a video coded bitstream are sliced is not the same as flag2 does not exist) or flag2 is 1 (indicating that not only co-located slices are referenced when each slice is coded), the slice must wait until all slices of the reference picture have been decoded before decoding can be initiated. And then splicing the reconstructed slices obtained by decoding each rectangular slice into a reconstructed image according to the slice index and the slice information, and splicing the reconstructed images of the video coding bit stream into a reconstructed video.
It is understood that when the rightmost column and/or the bottommost row of the rectangular slice are not full of maximum coding units, the portion beyond the image boundary needs to be discarded.
Based on this, the present embodiment further provides a video processing method, including first encoding each frame of image of a video by using the video processing method and forming a video encoded bitstream; and then decoding the video coded bit stream by using the video decoding method.
Further, as shown in fig. 3, the present embodiment also provides a video encoding apparatus 1, including:
the scribing module 11 is used for dividing each frame of image of the video into a plurality of rectangular sheets distributed in an array, wherein the number of pixel rows in the rectangular sheets in the same row is equal, and the number of pixel columns in the rectangular sheets in the same row is equal;
the encoding rule making module 12 is used for determining whether the slicing modes of each frame of image are the same and whether only the same-position slice is referred to during encoding so as to determine the encoding rule, and indicating whether the slicing modes of each frame of image are the same by using a first flag bit in a video sequence header; when the slicing modes of each frame of image are different, storing the slicing information of the frame of image in the image header of each frame of image; when the slicing mode of each frame of image is the same, storing slicing information in the video sequence header, and using a second flag bit in the video sequence header to indicate whether only a same-position slice is referred to during coding;
and the encoding module 13 encodes each frame of image and each rectangular slice in each frame of image according to the encoding rule to form encoded data, and sequentially splices the video sequence header, the image header of each frame of image and the encoded data of the rectangular slices of the frame of image to form a video encoding bit stream.
Referring to fig. 3, the present embodiment further provides a video decoding apparatus 2, including:
a video coding bitstream obtaining module 21, configured to obtain a video coding bitstream;
the parsing module 22 is configured to parse the video sequence header to obtain a first flag, and determine whether the slicing modes of each frame of image in the video coding bitstream are the same according to the first flag; if the slicing modes of each frame of image in the video coding bit stream are different, analyzing each image head to obtain the slicing information of each frame of image; if the slicing mode of each frame of image in the video coding bit stream is the same, the slicing information of each frame of image is obtained from the video sequence head, and a second flag bit in the video sequence head is obtained to judge whether only a same-position slice is referred when the video coding bit stream is coded;
and the decoding module 23 is configured to decode the rectangular slices of each frame of image according to the decoding rules corresponding to the encoding rules to form reconstructed slices, sequentially splice the reconstructed slices to form reconstructed images, and splice the reconstructed images of the video encoding bit streams to form reconstructed videos.
Based on this, the present invention further provides a video processing system, which includes the video encoding apparatus 1 and the video decoding apparatus 2, wherein the video encoding apparatus 1 encodes a video and forms a video encoded bitstream, and the video decoding apparatus 2 decodes the video encoded bitstream.
To facilitate understanding of the present invention, the following is an example provided in this embodiment:
assuming that an 8K video is to be encoded, the spatial resolution is 7680x4320, 120 pictures per second, and the maximum coding unit size is 128x 128.
The steps of encoding the video are as follows:
step S11: each frame of image of the video is divided into two rows and two columns of 4 rectangular tiles, the first row of rectangular tiles contains 2176(128 × 17) rows of pixels, the second row of rectangular tiles contains 2144 rows of pixels, the first column of rectangular tiles contains 3840 columns of pixels, and the second column of rectangular tiles contains 3840 columns of pixels.
Step S12: setting flag1 in the video sequence header to 0 indicates that pictures in the video sequence are sliced in the same manner. Slice information is then stored in the video sequence header, the height of the first row rectangular slice is set to 17, which means that the first row rectangular slice contains 128x 17-2176 rows of pixels, the height of the second row rectangular slice is set to 17, which means that the second row rectangular slice contains 2176 rows of pixels, but since the frame image has only 4320 rows of pixels, the number of pixel rows actually contained in the second row rectangular slice is 4320-2176-2144, and the number of pixel columns contained in both the first column rectangular slice and the second column rectangular slice is set to 30, which means that 3840 columns of pixels are contained. Further, a flag2 in the video sequence header is set to 0, indicating that only the co-located slice is referred to when encoding each rectangular slice.
Step S13: coding each frame of image, after a certain rectangular slice in the reference image is coded, the coding process can be started by a slice at the same position in the next frame of image without waiting for other slices in the reference image to be coded; then coding each rectangular slice in each frame of image, wherein the rectangular slices in the same frame of image do not refer to each other, so that the rectangular slices can be coded in sequence and in series or in parallel; setting a slice header in the coded data of each rectangular slice, wherein each slice header comprises a slice index, an index 0 represents a slice at the upper left corner, an index 1 represents a slice at the upper right corner, an index 2 represents a slice at the lower left corner, and an index 3 represents a slice at the lower right corner. And splicing the coded data of the rectangular slice belonging to the same frame of image and the image head of the frame of image into the coded data of the image, and finally splicing the coded data of all the images of the video and the video sequence head into a video coding bit stream.
The steps of decoding the video are as follows:
step S21: acquiring a video coding bit stream and analyzing a video sequence header to acquire a flag 1;
step S22: since the flag1 indicates that the pictures in the video coded bitstream are sliced in the same manner, the flag2 and the slice information are continuously obtained from the video sequence header, the flag2 is obtained to be equal to 0, which means that only the co-located slice is referred to, the first row of rectangular slice obtained in the video sequence header contains 128x 17-2176 rows of pixels, the second row of rectangular slice contains 128x 17-2176 rows of pixels, but since the number of rows of pixels contained in each frame of picture is only 4320, the number of rows of pixels actually contained in the second row of rectangular slice is 2144, and the number of columns of pixels contained in the first and second columns of rectangular slices is 3840. Each picture header is then parsed in turn, with no slice information in the picture header, since flag1 indicates that pictures in the video encoded bitstream are sliced in the same manner.
Step S23: each rectangular slice is decoded to obtain a slice index and a reconstructed value for each pixel contained in the slice. Rectangular slices in the same frame image can be decoded sequentially in series or in parallel. Because the flag2 indicates that only the co-located slice is referred to when each rectangular slice is encoded, the rectangular slice can start decoding after the co-located slice in the reference picture is decoded, reconstructed slices obtained by decoding each rectangular slice are spliced into reconstructed pictures according to the slice index and the slice information, and all the reconstructed pictures are sequentially spliced to form a reconstructed video.
In summary, in the video encoding method, the video decoding method, the video processing method and the video processing system according to the embodiments of the present invention, each frame of image of the video is first divided into a plurality of rectangular slices distributed in an array, then whether the slicing mode of each frame image is the same and whether only the collocated slice is referred to in coding is determined to determine the coding rule, and the first flag bit and the second flag bit in the video sequence header are used for indicating the slicing mode and the reference mode, storing the slicing information in the video sequence head or the image head according to different slicing modes, finally coding each rectangular slice of each frame of image according to the coding rule and splicing to form a video coding bit stream, when decoding, the encoding rule is obtained according to the first zone bit and the second zone bit, then decoding is carried out according to the decoding rule corresponding to the encoding rule, therefore, the rectangular slices contained in the two frames of images with reference relationship can be processed in parallel.
The above description is only a preferred embodiment of the present invention, and does not limit the present invention in any way. It will be understood by those skilled in the art that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (14)

1. A method for encoding video, comprising:
dividing each frame of image of a video into a plurality of rectangular sheets distributed in an array, wherein the number of pixel rows in the rectangular sheets in the same row is equal, and the number of pixel columns in the rectangular sheets in the same column is equal;
whether the slicing mode of each frame of image is the same and whether only the same-position slice is referred to during coding are specified to determine a coding rule, wherein the coding rule is as follows: if the slicing mode of each frame of image is the same, only referencing the same-position slice or referencing the same-position slice and different-position slices when encoding any rectangular slice, and if the slicing mode of each frame of image is different, only referencing different-position slices when encoding any rectangular slice; whether the slicing modes of each frame of image are the same or not is indicated by using a first flag bit in a video sequence header; when the slicing modes of each frame of image are different, storing the slicing information of the frame of image in the image header of each frame of image; when the slicing mode of each frame of image is the same, storing slicing information in the video sequence header, and using a second flag bit in the video sequence header to indicate whether only a same-position slice is referred to during coding;
and coding each frame of image and each rectangular slice in each frame of image according to the coding rule to form coded data, and sequentially splicing the video sequence header, the image header of each frame of image and the coded data of the rectangular slices of the frame of image to form a video coding bit stream.
2. The method of claim 1, wherein the co-located slices are rectangular slices having the same spatial position and size in different pictures.
3. The method of claim 1 or 2, wherein when the second flag indicates that only the co-located slice is referred to when encoding, only the co-located slice is referred to when encoding each rectangular slice of each frame picture, wherein the reference only the co-located slice means that the prediction values of the pixels in the inter prediction block in the rectangular slice being encoded are derived from the reconstructed pixel values of the co-located rectangular slice in the reference picture.
4. The method of claim 1 or 2, wherein when the second flag indicates that only a co-located slice is referred to during encoding, encoding is started for a co-located slice in a next frame picture corresponding to the co-located slice after encoding of one of the rectangular slices in the reference picture is completed.
5. The method of claim 1, wherein when each rectangular slice of each frame of picture is encoded according to the encoding rule, the rectangular slices of the same frame of picture are not mutually referred in intra prediction, motion vector prediction, coding unit coding mode prediction, prediction mode prediction, and entropy coding.
6. The video encoding method of claim 5, wherein after each rectangular slice of each frame of the picture is encoded according to the encoding rule, a slice header is inserted before the encoded data of each rectangular slice, the slice header including a slice index corresponding to the rectangular slice.
7. The video encoding method of claim 6, wherein the slice index is a sequence number of the rectangular slice arranged in a raster scan order.
8. The method of encoding video according to claim 1, wherein any one rectangular slice in each frame of the image includes an integer number of maximum coding units, and the rectangular slice is cut off to an image boundary when a right side boundary and/or a lower side boundary of the rectangular slice exceeds the image boundary.
9. A method for decoding a video coded bitstream encoded by the video encoding method according to any one of claims 1 to 8, comprising:
acquiring a video coding bit stream and analyzing a video sequence header to acquire a first zone bit;
judging whether the slicing modes of each frame of image in the video coding bit stream are the same or not according to the first zone bit; if the slicing modes of each frame of image in the video coding bit stream are different, analyzing each image head to obtain the slicing information of each frame of image; if the slicing mode of each frame of image in the video coding bit stream is the same, the slicing information of each frame of image is obtained from the video sequence head, and a second flag bit in the video sequence head is obtained to judge whether only a same-position slice is referred when the video coding bit stream is coded;
and decoding the rectangular slices in each frame of image according to a decoding rule corresponding to the encoding rule to form reconstruction slices, sequentially splicing the reconstruction slices to form a reconstruction image, and splicing the reconstruction images of the video coding bit stream to form a reconstruction video.
10. The method of claim 9, wherein when the second flag indicates that only a co-located slice is referred to when the video coded bitstream is encoded, the decoding of the co-located slice in the reference picture of the one of the rectangular slices is started after the decoding of the co-located slice is completed.
11. A method for processing video, comprising:
encoding each frame of image of a video using the method of processing video according to any of claims 1-8 and forming a video encoded bitstream;
decoding the video coded bitstream using the method for decoding video according to any one of claims 9 to 10.
12. A video encoding apparatus, comprising:
the scribing module is used for dividing each frame of image of the video into a plurality of rectangular sheets distributed in an array, the number of pixel rows in the rectangular sheets in the same row is equal, and the number of pixel columns in the rectangular sheets in the same row is equal;
the encoding rule making module is used for determining whether the slicing modes of each frame of image are the same and whether only the same-position slice is referred during encoding so as to determine an encoding rule, wherein the encoding rule is as follows: if the slicing mode of each frame of image is the same, only referencing the same-position slice or referencing the same-position slice and different-position slices when encoding any rectangular slice, and if the slicing mode of each frame of image is different, only referencing different-position slices when encoding any rectangular slice; whether the slicing modes of each frame of image are the same or not is indicated by using a first flag bit in a video sequence header; when the slicing modes of each frame of image are different, storing the slicing information of the frame of image in the image header of each frame of image; when the slicing mode of each frame of image is the same, storing slicing information in the video sequence header, and using a second flag bit in the video sequence header to indicate whether only a same-position slice is referred to during coding;
and the coding module is used for coding each frame of image and each rectangular slice in each frame of image according to the coding rule to form coded data, and sequentially splicing the video sequence header, the image header of each frame of image and the coded data of the rectangular slices of the frame of image to form a video coding bit stream.
13. A video decoding apparatus, comprising:
the video coding bit stream acquisition module is used for acquiring a video coding bit stream;
the analysis module is used for analyzing the video sequence header to obtain a first zone bit and judging whether the slicing modes of each frame of image in the video coding bit stream are the same or not according to the first zone bit; if the slicing modes of each frame of image in the video coding bit stream are different, analyzing each image head to obtain the slicing information of each frame of image; if the slicing mode of each frame of image in the video coding bit stream is the same, the slicing information of each frame of image is obtained from the video sequence head, and a second flag bit in the video sequence head is obtained to judge whether only a same-position slice is referred when the video coding bit stream is coded;
the decoding module is used for decoding the rectangular slices of each frame of image according to the decoding rules corresponding to the coding rules to form reconstruction slices, sequentially splicing the reconstruction slices to form reconstruction images, and splicing the reconstruction images of the video coding bit streams to form reconstruction videos; the encoding rule is as follows: if the slicing mode of each frame of image is the same, only the same-position slice or the same-position slice and different-position slices are referenced when any rectangular slice is coded, and if the slicing mode of each frame of image is different, only different-position slices are referenced when any rectangular slice is coded.
14. A video processing system comprising the video encoding apparatus of claim 12 and the video decoding apparatus of claim 13, wherein the video encoding apparatus encodes a video and forms a video encoded bitstream, and wherein the video decoding apparatus decodes the video encoded bitstream.
CN201910100635.1A 2019-01-31 2019-01-31 Video encoding method, decoding method, processing method and video processing system Active CN109714598B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910100635.1A CN109714598B (en) 2019-01-31 2019-01-31 Video encoding method, decoding method, processing method and video processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910100635.1A CN109714598B (en) 2019-01-31 2019-01-31 Video encoding method, decoding method, processing method and video processing system

Publications (2)

Publication Number Publication Date
CN109714598A CN109714598A (en) 2019-05-03
CN109714598B true CN109714598B (en) 2021-05-14

Family

ID=66264152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910100635.1A Active CN109714598B (en) 2019-01-31 2019-01-31 Video encoding method, decoding method, processing method and video processing system

Country Status (1)

Country Link
CN (1) CN109714598B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7350744B2 (en) * 2018-07-27 2023-09-26 ソニーセミコンダクタソリューションズ株式会社 Image processing device
CN111163319B (en) * 2020-01-10 2023-09-15 上海大学 Video coding method
CN113347424B (en) * 2021-05-27 2022-08-05 上海国茂数字技术有限公司 Video coding data storage method and device and readable storage medium
CN115396672B (en) * 2022-08-25 2024-04-26 广东中星电子有限公司 Bit stream storage method, device, electronic equipment and computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547348A (en) * 2009-05-08 2009-09-30 杭州华三通信技术有限公司 Video coding and decoding method and video coding and decoding device
CN104247428A (en) * 2012-04-06 2014-12-24 索尼公司 Decoder and decoding method, as well as encoder and encoding method
CN107968947A (en) * 2017-12-12 2018-04-27 西安文理学院 A kind of video compress sensory perceptual system and data processing method based on DSP
CN109076216A (en) * 2016-03-30 2018-12-21 韩国电子通信研究院 The method and apparatus that video is coded and decoded using picture division information

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009118221A (en) * 2007-11-07 2009-05-28 Toshiba Corp Digital image decoder and digital image decoding method
KR101505195B1 (en) * 2008-02-20 2015-03-24 삼성전자주식회사 Method for direct mode encoding and decoding
CN107318027B (en) * 2012-12-27 2020-08-28 日本电信电话株式会社 Image encoding/decoding method, image encoding/decoding device, and image encoding/decoding program
CN104811729B (en) * 2015-04-23 2017-11-10 湖南大目信息科技有限公司 A kind of video multi-reference frame coding method
CN106231311A (en) * 2016-08-01 2016-12-14 上海国茂数字技术有限公司 A kind of non-rectangle method for video coding and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547348A (en) * 2009-05-08 2009-09-30 杭州华三通信技术有限公司 Video coding and decoding method and video coding and decoding device
CN104247428A (en) * 2012-04-06 2014-12-24 索尼公司 Decoder and decoding method, as well as encoder and encoding method
CN109076216A (en) * 2016-03-30 2018-12-21 韩国电子通信研究院 The method and apparatus that video is coded and decoded using picture division information
CN107968947A (en) * 2017-12-12 2018-04-27 西安文理学院 A kind of video compress sensory perceptual system and data processing method based on DSP

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于视频并行编码的码率控制算法研究;吴晓光,李国平,王国中,滕国伟,赵海武;《电视技术》;20150831;全文 *

Also Published As

Publication number Publication date
CN109714598A (en) 2019-05-03

Similar Documents

Publication Publication Date Title
CN109714598B (en) Video encoding method, decoding method, processing method and video processing system
US9979978B2 (en) Image encoding apparatus, method of image encoding, and recording medium, image decoding apparatus, method of image decoding, and recording medium
US10582217B2 (en) Methods and apparatuses for coding and decoding depth map
EP2416577B1 (en) Image signal decoding apparatus and image signal decoding method
US9042456B2 (en) Moving picture encoding/decoding apparatus and method for processing of moving picture divided in units of slices
US20130003828A1 (en) Method for Selecting Transform Types From Mapping Table for Prediction Modes
US20060233525A1 (en) Encoding apparatus and method, and decoding apparatus and method
US20150172688A1 (en) Image encoding apparatus, image encoding method, and recording medium; and image decoding apparatus, image decoding method, and recording medium
CN114902673A (en) Indication of video slice height in video sub-pictures
US20110216827A1 (en) Method and apparatus for efficient encoding of multi-view coded video data
CN111510643B (en) System and method for splicing panoramic image and close-up image
CN111968031B (en) Image stitching method and device, storage medium and electronic device
CN111093078A (en) Video decoding method and device, storage medium and terminal
US9001892B2 (en) Moving image encoder and moving image decoder
US9554131B1 (en) Multi-slice/tile encoder with overlapping spatial sections
US20110216838A1 (en) Method and apparatus for efficient decoding of multi-view coded video data
US9219926B2 (en) Image encoding apparatus, image encoding method and program, image decoding apparatus, image decoding method and program
EP3253055B1 (en) Image coding/decoding method and apparatus
US20230262262A1 (en) Packing of views for image or video coding
EP4199512A1 (en) Feature data encoding method, apparatus and device, feature data decoding method, apparatus and device, and storage medium
KR20220113501A (en) Ranking of Immersive Media Processing

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
GR01 Patent grant
GR01 Patent grant