Flexible slice, tile and brick partitioning
AssigneeTencent America LLC
InventorsByeongdoo CHOI, Shan LIU, Stephan WENGER
Life of this patent
Estimating the term…
Abstract
A method, computer program, and computer system is provided for partitioning encoded video data. Data corresponding to a video frame is received, and the video frame data may be divided the video frame data into one or more subunits. These subunits may each have unique address values and be arranged in increasing order based on the unique address values. A left boundary and a top boundary associated with each of the subunits may include one or more of a picture boundary or a boundary of previously decoded subunit.
Claims20
A method for partitioning encoded video data, comprising:
- receiving video data corresponding to a video frame;
- dividing the video data into one or more slices, each slice comprising one or more subunits
- based on determining that a rect_slice_flag is being signaled, signaling, in a slice header associated with the video data, a slice_address syntax element;
- based on the rect_slice_flag being equal to 1, signaling, in the slice header, a sh_slice_id syntax element in addition to the slice_address syntax element;
- wherein based on the rect_slice_flag being equal to 1, the slice_address syntax element indicates a brick ID within a rectangular slice;
- and
- wherein based on the rect_slice_flag being equal to 0, the slice_address syntax element indicates the brick ID within a picture in the video data, wherein the brick ID corresponds to a subunit of the one or more subunits.
An apparatus for partitioning encoded video data, the apparatus comprising:
- at least one memory configured to store program code;
- and
- at least one processor configured to read the program code and operate as instructed by the program code, the program code comprising:
- receiving code configured to cause the at least one processor to receive video data corresponding to a video frame;
- dividing code configured to cause the at least one processor to divide the video data into one or more slices, each slice comprising one or more subunits
- first signaling code configured to cause the at least one processor to, based on determining that a rect_slice_flag is being signaled, signal, in a slice header associated with the video data, a slice_address syntax element;
- second signaling code configured to cause the at least one processor to, based on the rect_slice_flag being equal to 1, signal, in the slice header, a sh_slice_id syntax element in addition to the slice_address syntax element;
- wherein, based on the rect_slice_flag being equal to 1, the slice_address syntax element indicates a brick ID within a rectangular slice;
- and
- wherein based on the rect_slice_flag being equal to 0, the slice_address syntax element indicates the brick ID within a picture in the video data, wherein the brick ID corresponds to a subunit of the one or more subunits.
A non-transitory computer readable medium having stored thereon a computer program for partitioning encoded video data, the computer program configured to cause one or more computer processors to:
- receive video data corresponding to a video frame;
- divide the video data into one or more slices, each slice comprising one or more subunits
- based on determining that a rect_slice_flag is being signaled, signal, in a slice header associated with the video data, a slice address syntax element;
- based on the rect_slice_flag being equal to 1, signal, in the slice header, a sh_slice_id syntax element in addition to the slice_address syntax element;
- wherein based on the rect_slice_flag being equal to 1, the slice_address syntax element indicates a brick ID within a rectangular slice;
- and
- wherein based on the rect_slice_flag being equal to 0, the slice_address syntax element indicates the brick ID within a picture in the video data, wherein the brick ID corresponds to a subunit of the one or more subunits.
Dependencies are inferred from the claim text.