Method and system for combined lossless and lossy coding

The combined lossless and lossy video compression method addresses the inefficiencies of UHD video encoding by dividing frames into sub-pictures for independent encoding, achieving better compression and quality preservation through selective lossless encoding.

JP2026004371APending Publication Date: 2026-01-14OP SOLUTIONS
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025157744
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-04-13
Filing Date
2025-09-24
Publication Date
2026-01-14

AI Technical Summary

Technical Problem

Conventional video coding methods face challenges in efficiently compressing ultra-high definition (UHD) video due to the large image sizes, which require significant processing resources and result in lossy encoding that sacrifices detail and resolution, while lossless encoding is computationally expensive and inefficient.

Method used

A method for combined lossless and lossy video compression that divides a picture into sub-pictures based on quality and computational requirements, allowing independent encoding and decoding of each sub-picture using different coding modes, including block differential pulse code modulation and transform skip residual coding.

Benefits of technology

This approach achieves better compression performance than lossy encoding alone, preserving source video quality and efficiently utilizing computational resources by selectively applying lossless encoding to critical areas, while maintaining high resolution and detail.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026004371000001_ABST
    Figure 2026004371000001_ABST
Patent Text Reader

Abstract

To provide a method and system for combined lossless and lossy coding.SOLUTION: The method includes receiving, by a decoder, a bitstream and identifying, in the bitstream, a current frame. The current frame includes a first area and a third area. The method also includes detecting, in the bitstream, an indication that the first region is coded according to a lossless coding protocol and decoding the current frame. Decoding the current frame includes decoding the first region using a lossless decoding protocol corresponding to the lossless encoding protocol.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (Related Applications) This application was filed on April 13, 2021, and is entitled "METHODS AND SYSTEM S FOR COMBINED LOSSLESS AND LOSSY CODING ", which claims the benefit of priority to U.S. Nonprovisional Application No. 17 / 229,210, entitled " No. 6,929,393, filed April 13, 2020, which is incorporated herein by reference, and entitled "METHODS A ND SYSTEMS FOR COMBINED LOSSLESS AND LOS Benefit of priority from U.S. Provisional Patent Application No. 63 / 009,370, entitled "SY CODING" No. 6,239,693, which is incorporated herein by reference in its entirety.

[0002] The present invention relates generally to the field of video compression. In particular, the present invention relates to a method for combining multiple Kind Code: A1 Abstract: Methods and systems for inverse and lossy encoding are directed. [Background technology]

[0003] A video codec is an electronic circuit or software that compresses or decompresses digital video. It may include software that converts uncompressed video to a compressed format. In the context of video compression, video can be A device that compresses (and / or performs some of the functions) typically It is sometimes called a decompressor and performs some of the functions of decompressing videos. A device that receives a digital signal (such as a digital audio signal) is sometimes called a decoder.

[0004] The format of the compressed data may conform to standard video compression specifications. Compressed video is lossy in that it lacks some information present in the original video. This result is unresolved because there is insufficient information to accurately reconstruct the original video. The frozen video may have lower quality than the original uncompressed video. do.

[0005] Video quality, used to describe video (e.g., as determined by bitrate) The amount of data involved, the complexity of the encoding and decoding algorithms, and the risk of data loss and errors. sensitivity, ease of editing, random access, end-to-end delay (e.g., delay), etc. There can be a complex relationship between them.

[0006] Motion compensation is achieved by taking into account the movement of the camera and / or objects in the video. , a video frame given a reference frame, such as a previous and / or future frame. This may include approaches to predicting the time domain or a portion thereof. Data encoding and decoding, e.g., Motion Picture Experts G group (MPEG) advanced video coding (AVC) standard ( Motion compensation can be employed in encoding and decoding using the H.264 standard. A picture may be described in terms of the transformation from a reference picture to the current picture. The picture may be earlier in time compared to the current picture, The image may be from the future compared to the original image. Compression efficiency can be improved when an image can be synthesized exactly from stored images. Summary of the Invention

[0007] In one aspect, a decoder includes receiving an encoded video bitstream and identifying a current frame in the bit stream, the current frame being a first identifying a first region, a second region, and a third region in the bitstream; Detecting that the region is coded using block differential pulse code modulation; In the bitstream, the second region is coded using transform skip residual coding. and detecting in the bitstream that the third region is encoded using lossy encoding. and detecting that the lossy encoding is performed using inter-prediction and intra-prediction. and detecting, including at least one of: Includes roads.

[0008] In another aspect, the combined lossless and lossy encoding method comprises, by a decoder: receiving an encoded video bitstream and decoding the encoded video bitstream by a decoder; identifying a current frame in the stream, the current frame comprising a first region, and identifying the second region and the third region by a decoder and a bitstream. In the stream, the first region is coded using block differential pulse code modulation. Detecting and detecting by the decoder and in the bitstream that the second region is a transform skip Detecting that the image has been coded using residual coding and In a bitstream, it is detected that the third region is encoded using lossy encoding. The lossy encoding is performed by at least one of inter prediction and intra prediction. and detecting.

[0009] In another aspect, a decoder includes receiving an encoded bitstream and identifying a current frame in the stream, the current frame being a first subframe; and identifying a first picture and a second sub-picture in the bitstream. Detecting an indication that a subpicture is encoded according to a lossless encoding protocol and decoding the current frame, The first subpicture is decoded using a lossless decoding protocol corresponding to the lossless encoding protocol. and a circuit configured to perform the decoding, further comprising: decoding the Includes.

[0010] In another aspect, the combined lossless and lossy encoding method comprises, at the decoder, receiving the stream and decoding the current frame by the decoder and in the bitstream; and identifying a frame, wherein the current frame includes a first sub-picture and a second sub-picture. and identifying the first subpicture by the decoder and in the bitstream. Detecting an indication that the image is encoded according to a lossless encoding protocol and decoding the current frame by a decoder, The encoding is performed by first decoding the data using a lossless decoding protocol that corresponds to the lossless encoding protocol. and further comprising decoding the sub-pictures of the first and second sub-pictures.

[0011] These and other aspects and features of non-limiting embodiments of the present invention are best understood from the following detailed description of the present invention taken in conjunction with the accompanying drawings.

[0013] As will become apparent to those skilled in the art upon review of the following description of certain non-limiting embodiments of the present invention, It will be. [Brief explanation of the drawings]

[0012] For the purpose of illustrating the invention, the drawings show aspects of one or more embodiments of the invention. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown in the drawings. I want to be. [Figure 1] FIG. 1 is a block diagram illustrating an exemplary embodiment of a frame having multiple sub-pictures. [Figure 2] FIG. 2 is a diagram illustrating an example embodiment of a frame having two sub-pictures. [Figure 3] FIG. 3 is a process flow diagram illustrating an exemplary process for decoding video according to some implementations of the present subject matter. [Figure 4] FIG. 4 is a system block diagram illustrating an exemplary decoder capable of decoding a bitstream in accordance with some implementations of the present subject matter. [Figure 5] FIG. 5 is a process flow diagram illustrating an exemplary process for encoding video, consistent with some implementations of the present subject matter. [Figure 6] FIG. 6 is a block diagram of a computing system that may be used to implement any one or more of the methodologies disclosed herein, and any one or more portions thereof.

[0013] The drawings are not necessarily to scale and may be illustrated by phantom lines, diagrammatic representations, and partial views. In some cases, it may be helpful to understand details that are not necessary for understanding the embodiments, or other details. Details that make things difficult may be omitted. DETAILED DESCRIPTION OF THE INVENTION

[0014] In conventional video coding methods, a video sequence is divided into Group-of-Pictures (GOPs). Each GOP is self-contained in terms of temporal and spatial prediction. Typically, the first picture in the group is used as a reference for the subsequent pictures. The temporal and spatial relationships between pictures are determined using predictive coding. This allows for very efficient compression.

[0015] Typically, past coding systems have extracted some information from the coded frame. It operates using lossy coding, whereby certain parts of the image are omitted during the encoding process and not restored during decoding. Such lossy processing may include, for example, but not limited to, bitstreaming from an encoder to a decoder. the amount of data transmitted in the stream, encoding a frame or group of pictures, and / or or reducing the processing time and / or memory resources used for decoding. In order to achieve higher efficiency, In some cases, a certain degree of detail and / or resolution may be sacrificed.

[0016] An alternative approach to the above process can involve lossless encoding, The system is encoded and decoded with no or negligible loss of information. This may result in higher resolution and / or other detail in the frame and / or image. However, as will be mentioned in more detail below, lossless encoding and decoding sometimes requires certain Lossless encoding can also be more efficient for image processing, saving memory resources and This can be very expensive in terms of processing time and cost. This is particularly evident in Ultra HD video coding, where picture or image size can go up to 8K x 4K (7680 x 4320). Larger image sizes require chip and One reason for this is that UHD is a On-chip or other buffering of the estimation and reference blocks for motion estimation and compensation The problem is that UHD processing requires a larger search range in processing memory. The larger image size required may also present lossy encoding and decoding challenges. do.

[0017] The embodiments disclosed herein provide a method for combined lossless and lossy video compression encoding. The use of IEEE 802.11b enables more efficient signaling, decoding, and encoding. In this case, a picture may first be divided into sub-pictures based on quality and computational requirements. The encoder performs the encoding and / or decoding of pictures and / or GOPs. A processing core (or hardware) on a CPU or other device, circuit, or component You may create as many subpictures as you have in a single thread. Each subpicture is independent. This form of task decomposition allows efficient use of all available computational resources, since the The efficient use of the Lossless coding involves, for example, transforming and quantizing only specific sub-pictures of the entire frame. This may provide better compression than lossy encoding, which is used. Inverse and lossy coding can yield better performance than lossless coding alone.

[0018] Referring now to FIG. 1, an exemplary diagram of a current frame divided into multiple sub-pictures is shown. A sub-picture is a frame that is smaller than the current frame. The subpicture of the current frame can contain any part of the current frame. Figure 1 shows two or four sub-pictures. Although an exemplary current frame divided into multiple segments is described, those skilled in the art, upon reviewing this disclosure in its entirety, will appreciate that any Any number of sub-pictures may be used, as needed for resolution, efficiency, or any other consideration. It will be understood that it may also be used.

[0019] Also, referring to FIG. 1, the sub-pictures may be, but are not limited to, square and / or rectangular. by combining two or more blocks with square and / or rectangular shapes Each block may have any suitable shape, including a shape defined by the Identified using coordinates of one or more parts and / or features and / or signaling The coordinates may be in one or more corners and / or sides of the frame and / or picture. It may indicate the number of pixels across a frame and / or picture, measured from the plane. Although not specified, the block is defined as a rectangular block with two x coordinates and two y coordinates for identification. Alternatively or additionally, the sub-vertices may be identified using the coordinates of the vertices, such as the coordinates of the sub-vertices. The curve and / or a portion thereof may be calculated using, but not limited to, an exponential curve or other curve. Defined by a linear equation or a set of curved edges, such as the endpoints of a line segment. is a geometrical equation using one or more line segments defined by mathematically equivalent formulas. Any suitable geometric division of points, lines, and / or shapes, including but not limited to geometric divisions The species may be identified using a scientific description.

[0020] Continuing with reference to FIG. 1, the sub-pictures may be coded separately from each other. For example, Without limitation, a first region of the plurality of sub-pictures may use a first processor thread. The elements of the third domain may be encoded and / or decoded by the second process. As used herein, "processor thread" refers to a "Subthread" refers to any multi-threaded or similar program that would occur to one skilled in the art upon reviewing the entirety of this disclosure. Any processor core and / or other hardware capable of executing a thread of column processing. In one embodiment where each sub-picture is coded independently, this format The task decomposition of the This may allow for efficient encoding.

[0021] Also, referring to FIG. 1, lossless coding is advantageous in that the source video is preserved without loss. Selectively applied to a subset of blocks of a picture that are desirable for one or more of the reasons described above. As a non-limiting example, the selection of a subset of pictures for lossless coding can be This may be done for reasons of encoding efficiency. In such cases, the decision on the lossless encoding mode The test evaluates the rate-distortion (RD) cost of encoding a CTU in lossy and lossless modes. In certain use cases, a portion of the video may be It may be selected by the user to be encoded in lossless mode for reasons indicated by the One non-limiting example is a frame where preserving source quality is desired by the user. When such a user selection is made, the entire area Bodies may be marked using lossless coding without performing RD analysis.

[0022] Still referring to FIG. 1, alternatively or additionally, the sub-picture may be used to capture a larger amount of motion. Encode as detected and / or present picture areas, regions and / or subdivisions driver and / or other hardware and / or software components and / or processors Such regions may be identified as subpictures. It is often considered important and is often encoded using lossy coding, with little motion. Few or no subpictures may be encoded using lossy coding. An example is shown in FIG. 2, where a picture 200 has a first region 204 with motion and a second region 205 with no motion. The image is divided into two sub-pictures, one with a larger third region 208. As mentioned above, some In this case, lossless coding provides better compression than lossy coding, which uses transform and quantization. In an alternative or additional embodiment, the picture 200 may be encoded using a first lossless protocol. a first region 204 encoded using a lossless protocol; a second region 205 encoded using a lossless protocol; The data may be divided into a first region (not shown), and a third region using a lossy protocol.

[0023] Referring again to FIG. 1, a picture is divided into subpictures, slices, and tiles. A block (CTU) can be coded in intra or inter coding mode. A sub-picture may be a single CTU and / or multiple CTs. In one embodiment, each CTU in the subset of CTUs may include U. Alternatively or additionally, the restriction A set of CTUs, such as a set of CTUs that are not connected but are contiguously located, may be signaled together. Lossless and / or lossy encoding may be performed on the For example, but not by way of limitation, a CTU may be signaled in one or more headers. By signaling lossless and / or lossy coding modes in the CTU header, Alternatively or additionally, the blocks (CTUs) may be coded in a reverse coding mode. The selective use of lossless encoding of subsets of higher level syntactic units For example, tile, slice, and / or subpicture headers may be signaled. The data processor must use the lossless coding mode for all CTUs of that syntactic unit. The sub-picture header may be explicitly present or previously signaled. using a mechanism such as an identifier in another header, such as a coded picture header may be either incorporated by reference or in any other form.

[0024] Continuing with reference to FIG. 1, as one non-limiting example, a sub-picture header, CTU The data and / or logic within the header and / or other headers may be, but are not limited to, in a lossless mode. whether the signaling is valid, or in other words, whether the encoder and / or decoder The reader is aware that lossless and / or lossy modes are used for the associated CTUs, subpictures, etc. A first signal indicating whether to signal and / or receive a signal indicating whether to receive Data in subpicture headers, CTU headers, and / or other headers may be included. The data and / or logic may include, but is not limited to, a second bit indicating lossless and / or lossy mode. lossless mode may include a lossy mode where the associated CTUs, subpictures, etc. A mode that is encoded and decoded using a lossless encoding and decoding protocol. Below are non-limiting and illustrative examples of logic and data that may be employed. Sub_picture_header{ ... ...... ...... ...lossless_mode_signaling [1-bit] if(lossless_mode_signaling){ lossless_mode [1 bit]; } ... ...... ...... } Alternatively or additionally, the lossy or lossless mode may be PPS, SPS, block, sub-block, or lossless_coding_contraint_fl in the header of a block, etc. ag, etc.

[0025] Also referring to FIG. 1, an engine configured to perform the processes described in this disclosure is shown. The encoder and / or decoder may, for example, provide an identifier and / or a or bits are used to signal the lossless encoding protocol used, and / or Alternatively or additionally, the encoder and / or The decoder may, for example, adopt a given standard, release, or other approach to adopting a unified standard. configured to operate a specific lossless encoding and decoding protocol to match There may be more than one standard protocol, and the choice may be made between two or more potential signaled in the bitstream using a sufficient number of bits to encode the desired selection. This may be done.

[0026] Continuing with Figure 1, lossless coding protocols are used to encode images, videos, frames, and pictures. This may include any protocol for lossless encoding such as JPEG, JPEG2000, JPEG2003, JPEG2004, JPEG2005, JPEG2006, JPEG2007, JPEG2008, JPEG2009, JPEG2010, JPEG2010-10, JPEG2010-20, JPEG2010-3, JPEG2010-4, JPEG2010-5, JPEG2 As an example, the encoder and / or decoder may achieve lossless encoding by using a transform code. The idea behind this is to bypass the transform skipping step and directly encode the residual. This approach, which may be called "residual coding," is e.g., a block-based hybrid As implemented in some forms of video coding, as described in more detail below , from the space by applying a transform from the family of discrete cosine transforms (DCTs) This may be achieved by skipping the transformation of the residual to the frequency domain. The decoding and decoding includes, but is not limited to, lossless encoding of regular and TS resid Real coding (RRC, TSRC) and lossless and lossy modes of operation of RRC and Modification of TSRC and core experiment CE3-1 of JVET-Q00069 on lossless coding Enabling Block Differential Pulse Code Modulation (BDPCM) and higher level techniques; JVET-Q0 on different RRC / TSRC techniques and BDPCM combinations Including processes and / or protocols such as those proposed in 080 core experiment CE3-2, It may be performed according to one or more alternative processes and / or protocols.

[0027] With further reference to FIG. 1, an encoder as described in this disclosure may perform TS residual coding. may be configured to encode one or more fields using one or Multiple fields may be, but are not limited to, any picture, subpicture, coding unit, Knit, coding tree unit, tree unit, block, slice, tile, and / or any combination thereof. The data is then coded according to and / or using TS residual coding. In transform skip mode, the decoder may be configured to decode multiple fields. The field residuals may be of a predetermined size, such as, but not limited to, a size of 4 pixels by 4 pixels. , may be coded in non-overlapping sub-blocks or other units of subdivision. The quantization index for each scan position in the field is coded as the last significant scan position instead of encoding the last significant scan position. , and the position of the last sub-block and / or subdivision may be coded as TS residual coding is performed in a forward diagonal scan rather than backward. The forward scan order depends only on the location of the sub-blocks and / or subdivisions. In one embodiment, the sine wave may be applied to scan sub-blocks within a transform block rather than just scanning the transform block. There may be no signaling of the last (x,y) position. , coded_sub_block_flag when all previous flags are equal to 0 , may be coded for any sub-block except the last one. The context model for _coeff_flag is the same even with the reduced template. The context model for sig_coeff_flag is based on the adjacent values ​​above and to the left. The context model of abs_level_gt1_flag may also depend on May depend on the values ​​of sig_coeff_flag on left and top.

[0028] Also, referring to FIG. 1, as a non-limiting example, the first step in the TS residual coding process is During the scan pass of 1, the significance flag (sig_coeff_flag), sign flag (c oeff_sign_flag), absolute value flag greater than 1 (abs_level_ gtx_flag[0]), and parity (par_level_flag) are coded For a given scan position, if sig_coeff_flag is equal to 1, If so, coeff_sign_flag is coded (whether the absolute value is greater than 1) abs_level_gtx_flag[0] may follow, specifying the level of the If level_gtx_flag[0] is equal to 1, then par_level_flag is During the second or subsequent scan pass, the absolute value is For each scan position with a pair value greater than 1, up to four ab for i=1...4 s_level_gtx_flag[i] has absolute values ​​of 3, 5, and It may be coded to indicate whether it is greater than 7 or 9. During the "remainder" scan pass, the absolute value is stored as abs_remainder. The remainder that can be obtained may be coded in bypass mode. The absolute value remainder is coded using a fixed value of 1. The image may be binarized using the image parameter values.

[0029] Still referring to FIG. 1, the first scan pass and the second or "greater than x" scan pass The bins of the path may be context coding bins in a field such as, but not limited to, a TU. Contexts may be coded until the maximum number of In this case, the maximum number of context coding bins for a residual block is 1.75*block_wi dth*block_hight or equivalent, on average 1.75 per sample location As mentioned above, the residual scan path may be restricted to the context coding bin. The bins of the last scan pass may be bypass coded. Variables such as s are used to determine the maximum number of context coding bins for the first block or other field. may be set to , and may be decremented by 1 each time a context coding bin is coded. In one non-limiting example, while RemCcbs is greater than or equal to 4, , sig_coeff_flag, coeff_sign_flag, abs_leve The first encoding pass, which may include l_gt1_flag and par_level_flag The syntax elements of may be coded using context coding bins. In some embodiments, during the first pass encoding, if RemCcbs is less than 4, In this case, the remaining coefficients not yet coded in the first pass are coded in the remainder scan pass. and / or may be encoded in a third pass.

[0030] Also, referring to FIG. 1, after the first pass encoding is complete, RemCcbs is greater than 4. If it is greater than or equal to 4, the syntax element for the second coding pass is abs_lev el_gt3_flag, abs_level_gt5_flag, abs_level _gt7_flag, abs_level_gt9_flag, and During the second pass, the image may be encoded using the Rem coding bin. If Ccbs is less than 4, the remaining coefficients not yet coded in the second pass are , may be coded in the remainder and / or in a third scan pass. Blocks coded using TS residual coding are coded using BDPCM coding. For blocks not coded in BDPCM mode, the level mapping The ping mechanism performs transform skip residual coding until the maximum number of context coding bins is reached. Level mapping may be applied to the currently The coefficient levels above and to the left may be used to predict the coefficient level of a given For residual locations, absCoeff is shown as the absolute coefficient level before mapping. absCoeffMod may be expressed as the coefficient level after mapping. As one non-limiting example, let X0 denote the absolute coefficient level of the adjacent left position, and X1 denote the absolute coefficient level of the adjacent left position. , the absolute coefficient level of the adjacent position above, the level mapping is performed as follows: It can be carried out.

number

[0031] Also, referring to FIG. 1, in some embodiments, transform skip mode is used to When used in blocks, the entire block may be used without zeroing out any values. Additionally, the transform shift may be removed in transform skip mode. The statistical properties of the transform coefficients may be different from the statistical properties of the transform coefficients. Residual coding may specify a maximum luma and / or chroma block size. In one embodiment, the setting is MaxTsSize x MaxTsSi in the transform skip mode. The maximum size of the luma block to be used may be MaxTsSize The value of may be signaled in PPS and may be a global maximum such as, but not limited to, 32. When a CU is coded in transform skip mode, its prediction The residual may be quantized and coded using a transform skip residual coding process.

[0032] With continued reference to FIG. 1, an encoder as described in this disclosure uses BDPCM. may be configured to encode one or more fields using The number of fields may include, but is not limited to, any picture, subpicture, coding unit, Bit, coding tree unit, tree unit, block, slice, tile, and and / or any combination thereof. performs one or more filters in accordance with and / or using the BDPCM. BDPCM may be configured to decode the code at the pixel level. As a non-limiting example, the prediction process for each pixel with BDPCM may be The process predicts each pixel using the intra-block references and then the subsequent It is reconstructed to be used as an intrablock reference for pixels in four main steps. (1) intrablock pixel prediction, (2) residual calculation, (3) residual quantization, and (4) pixel This may include reconfiguration.

[0033] Also, referring to FIG. 1, intra-block pixel prediction uses multiple references to predict each pixel. As a non-limiting example, the plurality of reference pixels may be a pixel to be predicted. The pixel α to the left of p, the pixel β above p, and the pixel γ above p and to the left of p are included. The predicted value of p can be formulated, without limitation, as follows:

number

[0034] Still referring to Figure 1, pixel-level independence allows skipping the residual transform and using spatial domain quantities. This may be achieved by unifying the quantizations of the linear quantizer Q as follows: to calculate the quantized residual value r.

number

[0035] Also, referring to Figure 1, another state of the BDPCM uses p and r from the previous step to This may include pixel reconstruction using, for example but not limited to, the decoder: This may be performed by the decoder or by the decoder.

number

[0036] The prediction scheme of the BDPCM algorithm is that the original pixel value deviates from its predicted value. This can be used when there is a relatively large residual error. If the reference in the block belongs to the background layer and the current pixel belongs to the foreground layer, or vice versa This situation is sometimes called a "layer transition" situation and is available in the reference At the sequence level, available information may not be sufficient for accurate prediction. A table flag may be signaled in the SPS. This flag may be used, for example, to However, as described above, it is signaled only if transform skip mode is enabled in the SPS. When BDPCM is enabled, the CU size is smaller than MaxTsSize × MaxTsSize in terms of luma samples, or is equal to MaxTsSize × MaxTsSize, and the CU is intra-coded. If the flag is set, the MaxTsSize is set to 0. If the flag is set to 0, the MaxTsSize is set to 1. The maximum block size for which skip mode is allowed. This flag is used in place of the normal intra-block If BDPCM is used, The BDPCM prediction direction flag is sent to indicate whether the prediction is horizontal or vertical. The block may then be filtered using the unfiltered reference samples: It may be predicted using a normal horizontal or vertical intra prediction process.

[0037] Referring now to FIG. 3, an example of a combined lossless and lossy encoding method 300 is shown. An exemplary embodiment is described. In step 305, the decoder receives the bitstream. In step 310, the decoder identifies the current frame in the bitstream. The current frame may include a first region, a second region, and a third region, Any of these may include any of the fields described above. Fields include frame header information Each region may be flagged using coordinates, geometric information, or otherwise described using the identification of the block and / or CTU to be In one embodiment, the decoder may include a first region, a second region, and a Only two regions may be identified: a first region, a second region, and a third region; the remaining regions are the current frame The remaining tiles may be identified as tiles, slices, blocks, CTUs, etc. There may be additional regions, and method 300 may be performed with respect to any additional regions described in this disclosure. The method may include any processing steps as desired.

[0038] Continuing with reference to FIG. 3, in step 315, the decoder receives the first Detects indication that a region of ones is coded according to block differential pulse code modulation This may be performed, but is not limited to, as described above with reference to FIGS. The detection can be performed, for example, by using block differential pulse code modulation, as described above. In one embodiment, the bitstream detection may include and / or be preceded by a bitstream detection. The stream may include a sub-picture header corresponding to the first region. The first region may include a block differential pulse code in the subpicture and / or region-specific header. Detecting an indication that the subpicture is encoded according to a modulation. The header may be explicitly included in the data corresponding to the current frame. If not specified, but bdpcm is enabled for the sequence, sps_bdpcm_ The enabled_flag may be set to 1 in the SPS and / or other headers. ps_bdpcm_enabled_flag equals 1 means that intra_bdp cm_luma_flag and / or intra_bdpcm_chroma_flag However, intra-coding units and / or coding units relating to other fields and / or may be present in other field-specific syntax. pcm_enabled_flag equal to 0 means that intra_bdpcm_lu ma_flag and / or intra_bdpcm_chroma_flag are coding unit and / or other fields related to the coding unit and / or other fields It may be specified as not present in field-specific syntax. When not present, sps The value of _bdpcm_enabled_flag may be assumed to be equal to 0. In this embodiment, gci_no_bdpcm_constraint_flag is equal to 1. This can be defined by, but is not limited to, the OlsInScope parameter. sps_bdpcm_enabled_flag of all pictures in the set is equal to 0 You can specify that the value should be changed. t_flag equal to 0 may impose no such constraint. As a typical example, intra_bdpcm_luma_flag is equal to 1. indicates that the BDPCM is You may specify that the transformation may be applied to the field, i.e., that the transformation is skipped. The intra prediction mode is determined by the intra_bdpcm_luma_dir_flag. For example, but not limited to, intra_bdpcm_lu equal to 0 ma_flag indicates that BDPCM is using the current luma coding block at position (x0,y0), and The variable BdpcmFlag may specify that it does not apply to other fields. [x][y][cIdx] is x=x0...x0+cbWidth-1, y=y0.. .+cbHeight-1, cIdx=0 for intra_bdpcm_luma_ It may be set equal to the flag intra_bdpcm_luma_dir_fl ag equal to 0 may indicate that the BDPCM prediction direction is horizontal. ntra_bdpcm_luma_dir_flag equal to 1 indicates that the BDPCM The measurement direction may be vertical. dx] is x=x0..x0+cbWidth-1, y=y0..y0+cbHeigh t-1, cIdx=0 in intra_bdpcm_luma_dir_flag The sub-picture and / or region may be set equal to the third sub-picture of the current frame. By referencing the identifiers in the subpicture headers corresponding to the pictures and / or other elements. It may also be included.

[0039] Continuing with FIG. 3, at step 320, the decoder receives the first Detects indications that the region in 2 is coded according to transform-skip residual coding. This may be performed, but is not limited to, as described above with reference to FIGS. The detection may be, for example, as described above, detecting that transform skip residual coding is enabled. In one embodiment, the bitstream may include a sub-picture header corresponding to the first region. The region is coded according to the transform skip residual coding protocol in the subpicture header. This may include detecting an indication that a transform skip is enabled. flags, such as, but not limited to, sh_ts_residual_co ding_disabled_flag is the syntax for residual_coding A hex structure equal to 1 means to skip the transformation of the current slice and / or other fields. You may specify which block of residual samples to use for analysis. ts_residual_coding_disabled_flag is equal to 0 The syntax structure of residual_ts_coding is may be used to analyze the residual samples of the transformation skip block. sh_ts_residual_coding_disabled_flag is not present When absent, it may be inferred to be equal to 0. lag[x0][y0][cIdx] is the time when the transform is applied to the associated transform block. The array indices x0, y0 specify whether the top-left luma of the picture can be The position (x0, y0) of the top-left luma sample of the considered transform block relative to the sample is The array index cIdx may specify a color component indicator. For example, it may be equal to 0 for Y, 1 for Cb, and 2 for Cr. transform_skip_flag[x0][y0][cIdx] is equal to 1 means that a transformation may not be applied to the associated transformation block. Good. transform_skip_flag[x0][y0][cIdx] is equal to 0 What is interesting is that the decision as to whether a transformation is applied to the associated transformation block is It may specify dependencies on other syntax elements. Skip mode may be signaled implicitly, e.g., by using the transform_ If skip_flag[x0][y0][cIdx] does not exist, it is BdpcmFlag[x0][y0][cIdx] is equal to 1. If transform_skip_flag[x0][y0][cIdx] is set to 1, Otherwise, BdpcmFlag[x0][y0][cI dx] is equal to 0, then transform_skip_flag[x0][y0][ cIdx] may be inferred to be equal to 0. Subpicture header and / or region specific The header of a subpicture may be explicitly included in the data corresponding to the current frame. and / or the region corresponds to a third sub-picture and / or other element of the current frame It may be included by referencing an identifier in the subpicture header.

[0040] Continuing to refer to FIG. 3, in step 325, the decoder determines whether the third region is a lossy code. Detects whether the file is encoded according to a lossless encoding protocol and supports lossless encoding protocols The third region is decoded according to a lossy decoding protocol, which is described below. Any lossy decoding described herein, including DCT and other processes, as described above. The bitstream may be executed according to a third region. It may contain subpicture and / or region specific headers, and detecting The header indicates that the third field is encoded according to a lossy encoding protocol. Subpicture and / or region specific headers may contain indications of the current frame. Subpicture and / or region specific headers may be explicitly included in the corresponding data. For example, as described above, the sub-picture and / or region corresponding to the third sub-picture It may be included by referencing a unique header identifier. The data processor decodes the first region using the first processor thread, as defined above. and configured to decode elements of a third region using a second processor thread. It may also be used.

[0041] Continuing to refer to FIG. 3, the decoder may decode the current frame. Decoding a frame is performed by a BDPCM decoding method corresponding to the BDPCM encoding protocol. The method may include decoding the first region using a protocol. The decoding is a transform skip residual decoding corresponding to the transform skip residual coding protocol. The method may include decoding the second region using a protocol. The encryption is performed using a lossy decoding protocol that corresponds to the lossy encoding protocol. This may include decoding the third region.

[0042] Also referring to FIG. 3, the decoder receives the bitstream and into quantized coefficients; and an inverse entropy decoder processor configured to: Inverse quantization configured to process quantized coefficients including performing discrete cosine and an inverse transform processor, a deblocking filter, a frame buffer, and an intra prediction and a measurement processor. At least one of the regions may form part of a quadtree plus a binary decision tree. At least one of the first region and the third region may include a coding tree unit. In some implementations, at least one of the first region, the second region, and the third region At least one coding tree unit (CTU), coding unit (CU) , or a prediction unit (PU).

[0043] Figure 4 shows a bitstream using a combined lossy and lossless coding protocol. A system block diagram showing an exemplary decoder 400 capable of decoding the program 428 is shown. The decoder 400 includes an entropy decoder processor 404, an inverse quantization and an inverse transform processor 408, a deblocking filter 412, and a frame buffer 416. , a motion compensation processor 420, and / or an intra-prediction processor 424.

[0044] Also referring to FIG. 4, in operation, the bitstream 428 is passed to the decoder 400. and input to the entropy decoder processor 404, The entropy decoder processor 404 encodes a portion of the bitstream into quantized coefficients. The quantized coefficients are provided to an inverse quantization and inverse transform processor 408. The inverse quantization and inverse transform processor 408 performs the inverse quantization and inverse transform, A residual signal can be generated, and the residual signal is passed to a motion compensation processor according to a processing mode. The motion compensation processor 420 may be added to the output of the intra-prediction processor 424. The output of the intra prediction processor 420 and the intra prediction processor 424 is based on previously decoded blocks. The sum of the prediction and the residual is passed to the deblocking filter 412. and stored in the frame buffer 416.

[0045] Continuing with reference to FIG. 4, the decoder 400 may be configured to process the data in any order and to any degree of repetition. In return, any method, method step, or method sequence in any embodiment described in this disclosure It may be designed and / or configured to perform a sequence of steps. The coder 400 performs a single step or sequence until a desired or commanded result is achieved. The step or sequence of steps may be configured to be repeatedly executed. Iterations of a sequence use the output of the previous iteration as input to the subsequent iteration, and aggregate Aggregate the input and / or output of a repetition to produce a result, and use one of the global variables reduce or decrement one or more variables and / or perform a larger processing task into a set of smaller processing tasks that are addressed iteratively and / or The decoder 400 may be executed in two or more parallel threads, processors, or recursively. Performing steps two or more times simultaneously and / or substantially simultaneously using a saccore or the like Any step or sequence of steps described in this disclosure may be performed in parallel, such as The division of tasks among parallel threads and / or processes may be performed by dividing the tasks among the iterations. The method may be performed according to any suitable protocol. When considering steps, sequences of steps, processing tasks, and / or data, can be subdivided, shared, or otherwise handled using recursion and / or parallel processing. You will be aware of the various ways in which it can be handled.

[0046] Figure 5 shows the process of adding a single global motion vector candidate to the motion vector candidate list. An exemplary embodiment of a video encoder 500 capable of constructing a motion vector candidate list including: 1 is a system block diagram illustrating one embodiment of an exemplary video encoder 5. 500 can receive an input video 504, which is then converted into a tree-structured master. Processing schemes, such as cross-block partitioning schemes (e.g., quad-tree plus binary tree) The data may first be segmented and / or divided according to the tree structure. One example of a block partition scheme is to divide a picture frame into blocks as follows: This may involve splitting the tree into larger block elements called tree units (CTUs). In some implementations, each CTU is divided into multiple coding units (CUs). The final result of this division is a prediction A transform unit (PU) may include a group of sub-blocks that may be called a transform unit (PU). TU) may also be used.

[0047] Also referring to FIG. 5, the exemplary video encoder 500 includes an intra-prediction processor. 508 and adding a single global motion vector candidate to the motion vector candidate list. a motion estimation / compensation processor 51 capable of constructing a motion vector candidate list including: 2 (also called the inter-prediction processor), a transform / quantization processor 516, and an inverse quantization processor Transformation / Inverse Transform Processor 520, In-Loop Filter 524, and Decoded Picture Buffer 528 and / or entropy coding processor 532. The frame parameters are input to the entropy coding processor 532, which encodes the output bitstream. The system may be included in the group 536.

[0048] Continuing with reference to FIG. 5, in operation, each block of a frame of input video 504 For , the blocks are processed via intra-picture prediction or motion estimation / compensation. It may be determined whether to process a block using an intra prediction processor. 508 or motion estimation / compensation processor 512. If the image should be processed via intra-prediction, the intra-prediction processor 508 performs the processing and predicts the image. It may output a predictor that indicates whether the block should be processed through motion estimation / compensation. If so, the motion estimation / compensation processor 512 generates a single global motion vector, if applicable. adding the candidate motion vector to the candidate motion vector list; The process may include constructing a

[0049] Also referring to FIG. 5, the residual is formed by subtracting the predictor from the input video. The residual may be received by a transform / quantize processor 516, which may The quantization processor 516 performs a transform operation (e.g., a discrete cosine transform (DCT)). , may generate coefficients that may be quantized. Quantized coefficients and any associated signaling The information is provided to an entropy encoding processor 532 for entropy encoding; The entropy encoding processor 532 may include the following: It also supports the encoding of signaling information related to encoding the current block. Additionally, the quantized coefficients may be provided to an inverse quantization / inverse transform processor 520. The inverse quantization / inverse transform processor 520 can regenerate the pixels, which are then used to predict The output can be combined with the input and processed by the in-loop filter 524. The input involves adding a single global motion vector candidate to the motion vector candidate list. A motion estimation / compensation processor 512 that can construct a motion vector candidate list. The decoded picture may be stored in the decoded picture buffer 528 for use by

[0050] With further reference to FIG. 5, although several variations have been described in detail above, other modifications or additions may be possible. For example, in some implementations, the current block can be any asymmetric block. blocks (8x4, 16x8, etc.) as well as any symmetrical block (8x8, 16x16, 32x32, 64x64, 128x128, etc.)

[0051] Also, referring to FIG. 5, in some implementations, a quad-tree plus binary decision tree (QTB) T) may be implemented. In QTBT, the QTB The partition parameters of T can be used locally without transmitting any overhead. It may then be dynamically derived to adapt to the characteristics of the coding unit. In this case, the joint classifier decision tree structure may eliminate unnecessary repetition and reduce false positives. In some implementations, the LTR frame block update may be used to control the risk of incorrect prediction. The new mode is available as an additional selection available per leaf node in QTBT. Good too.

[0052] Also, referring to FIG. 5, in some implementations, additional syntax elements include bit The flag may be signaled at different hierarchical levels of the stream. By including an enable flag encoded in the Sequence Parameter Set (SPS) , may be valid for the entire sequence. It may be coded at the Combining Tree Unit (CTU) level.

[0053] Continuing with reference to FIG. 5, a non-transitory computer program product (i.e., a physical A computer program product embodied in a or executed by one or more data processors of multiple computing systems When activated, the method causes at least one data processor to perform the operations and / or causes the steps to be performed, including but not limited to, the above-mentioned 400 and / or encoder 5 00. Similarly, a computer The system also includes one or more data processors; and a memory coupled to the at least one processor. The instruction may be temporarily or permanently transmitted to the processor to cause the processor to perform one or more of the operations described herein. Furthermore, the method may be implemented in one or more computers within a single computing system. by multiple data processors or between two or more computing systems It may be implemented either by one or by multiple distributed data processors. Such a computing system may be one or more of a plurality of computing systems. via a network (e.g., the Internet, wireless wide area networks), or through a direct connection between network, local area network, wide area network, wired network, etc. connected and transmitting data and / or commands or may be replaced by other instructions etc.

[0054] Continuing with reference to FIG. 5, the encoder 500, the decoder 400, and / or their circuitry may be repeated in any order and to any degree in any embodiment described in this disclosure. designed to perform any method, method step, or sequence of method steps of , and / or may be configured, for example, with the encoder 500, the decoder 400, and / or The circuit performs a single step or sequence until a desired or commanded result is achieved. The steps or sequences of steps may be configured to repeatedly perform the process. Each iteration of the process uses the output of the previous iteration as input to the subsequent iteration, and the aggregated result is Aggregate the input and / or output of the iteration to generate one or more reduces or decrements multiple variables and / or performs larger processing tasks, Dividing into a set of smaller processing tasks that are addressed iteratively and / or The encoder 500, the decoder 400, and / or their circuits may be ,using two or more parallel threads, processor cores, etc. to execute a step more than once, and / or performed substantially simultaneously, any steps or may execute a sequence of steps in parallel, between parallel threads and / or processes. The task division is performed according to any protocol suitable for dividing tasks among iterations. Those skilled in the art will recognize the steps, sequence of steps, and processes upon reviewing this disclosure in its entirety. Processing tasks and / or data are subdivided using iterative, recursive, and / or parallel processing. You will be aware of various ways in which your personal information may be shared or otherwise handled.

[0055] The embodiments disclosed herein include a decoder, which generates an encoded video Receiving a bitstream and identifying the current frame in the bitstream and the current frame includes a first region, a second region, and a third region. and in the bitstream, the first region is modulated using block differential pulse code modulation. and detecting that the second region is encoded in the bitstream. and detecting that the bitstream is coded using residual coding. Detecting that the third region is encoded using lossy encoding, The lossless encoding includes at least one of inter-prediction and intra-prediction. and circuitry configured to:

[0056] In some embodiments, the bitstream is directed to a subpicture corresponding to the first region. the first region is encoded using block differential pulse code modulation. Detecting that the subpicture header contains at least a first region that is a block differential Further includes detecting an indication that the signal is encoded using pulse code modulation. In some embodiments, the sub-picture header is explicitly included in the data corresponding to the current frame. In some embodiments, the sub-picture corresponds to a third sub-picture. It is included by referencing the identifier in the corresponding subpicture header.

[0057] In some embodiments, the bitstream is directed to a subpicture corresponding to the second region. and a decoder using transform skip residual coding in the sub-picture header. Detect an indication that the second region is coded using transform skip residual coding. In some embodiments, the method is further configured to: The header is explicitly included in the data corresponding to the current frame. The decoder may include decoding a first region using a first processor thread and decoding a second region using a second processor thread. and decoding the elements of the second region using two processor threads. The decoder is further configured to decode the current frame. Decoding the frame provides a decoding protocol corresponding to block differential pulse code modulation. and further comprising: decoding the first region using the The decoder may be configured to decode the current frame, Decoding a frame of ?? corresponds to using transform skip residual coding. and further comprising: decoding the second region using a decryption protocol. The decoder may be further configured to decode the current frame. and decoding the current frame includes decoding the current frame according to a lossy encoding protocol. and further comprising: decoding the third region using a decryption protocol. The device may be further configured to:

[0058] In some embodiments, the combined lossless and lossy encoding method receiving an encoded video bitstream by a decoder and identifying a current frame in the bitstream, the current frame being the first and identifying the first region, the second region, and the third region, and In a bit stream, the first region is coded using block differential pulse code modulation. and detecting by the decoder and in the bitstream that the second region is transformed. It is important to detect that the residual is coded using skip residual coding and to ensure that the decoder and the bitstream has a third region coded using lossy coding. and detecting a lossy encoding process using at least one of inter prediction and intra prediction. and detecting, including at least one of:

[0059] In some embodiments, the bitstream is directed to a subpicture corresponding to the first region. the first region is encoded using block differential pulse code modulation. Detecting that the subpicture header contains at least a first region that is a block differential Further includes detecting an indication that the signal is encoded using pulse code modulation. In some embodiments, the sub-picture header is explicitly included in the data corresponding to the current frame. The subpicture header contains the identification of the subpicture corresponding to the third subpicture. The bitstream may be included by referencing the identifier corresponding to the second region. The decoder may include a sub-picture header that indicates the transformation skip. The second region is coded using transform skip residual coding. The image processing device may be further configured to detect an indication that the sub-picture is to be displayed. The header may be explicitly included in the data corresponding to the current frame.

[0060] The method includes decoding a first region using a first processor thread and decoding a second region using a second processor thread. and decoding the elements of the third region using a processor thread. The method is to decode a current frame, and decoding the current frame comprises: Decode the first region using a decoding protocol corresponding to block differential pulse code modulation. The method may further include decoding the current frame. and decoding the current frame using transform skip residual coding. and further decoding the second region using a decoding protocol corresponding to the decoding protocol used. The method may include decoding the current frame. Therefore, decoding the current frame is a decoding process corresponding to the lossy encoding protocol. and further comprising decoding the third region using the protocol. good.

[0061] In some embodiments, the decoder receives the encoded bitstream. and identifying a current frame in the bitstream, the current frame being: identifying a bitstream including a first sub-picture and a second sub-picture; and an indication that the first subpicture is encoded according to a lossless encoding protocol. detecting an indication of the current frame; and decoding the current frame. The lossless encoding protocol is a lossless decoding protocol that corresponds to the first and decoding the sub-pictures. This includes circuits that

[0062] In some embodiments, the bitstream includes a sub-picture corresponding to the first sub-picture. The detecting step may include detecting at least a first sub-picture header. Detect an indication that the subpicture is encoded according to a lossless encoding protocol. The sub-picture header may include adding explicit information to the data corresponding to the current frame. The sub-picture may be implicitly included in the sub-picture corresponding to the third sub-picture. The decoder may include the second subpicture by referencing the identifier of the second subpicture. detecting that the data is encoded according to a lossy encoding protocol; the second sub-picture is decoded according to a lossy decoding protocol corresponding to the encoding protocol; The bitstream may be further configured to: The decoder may include a sub-picture header corresponding to the sub-picture. In the header, the second subpicture is encoded according to a lossy encoding protocol The sub-picture header may be further configured to detect an indication that: The subpicture header may be explicitly included in the data corresponding to the current frame. by referencing the identifier in the subpicture header corresponding to the third subpicture The decoder may include: and decoding elements of the second subpicture using a second processor thread. The decoder may be further configured to decode the bitstream. and an entity configured to receive the bitstream and decode the bitstream into quantized coefficients. a quadrature decoder processor and a processor for processing the quantized coefficients, including performing an inverse discrete cosine an inverse quantization and inverse transform processor configured to: The first sub-picture and the second sub-picture may include a frame buffer and an intra-prediction processor. At least one of the first and second sub-pictures forms part of a quadtree plus a binary decision tree. At least one of the first sub-picture and the second sub-picture may be coded. The first sub-picture and the second sub-picture may include a moving tree unit. At least one of them may include a coding unit. At least one of the second sub-pictures may include a prediction unit.

[0063] In some embodiments, a method for combined lossless and lossy encoding is provided, receiving a bitstream at a coder and decoding the bitstream by a decoder; and identifying a current frame, the current frame being the first sub-picture and and a second sub-picture, and and an indication that the first subpicture is encoded according to a lossless encoding protocol. detecting an indication of the current frame; and decoding, by a decoder, the current frame. Decoding the current frame is performed using a lossless decoding protocol that corresponds to the lossless encoding protocol. and further comprising decoding the first sub-picture using the include.

[0064] In some embodiments, the bitstream includes a sub-picture corresponding to the first sub-picture. The detecting may further include a sub-picture header, and the detecting may include detecting at least The first subpicture is encoded according to a lossy encoding protocol. The sub-picture header may include detecting the data corresponding to the current frame. The sub-picture header may be explicitly included in the data. The method may include referencing an identifier in a sub-picture header. Detecting that a picture is encoded according to a lossy encoding protocol and a second sub-pilot according to a lossy decoding protocol corresponding to the lossless encoding protocol. In some embodiments, the bitstream may include decoding the image. may contain a sub-picture header corresponding to the second sub-picture, and detecting , the sub-picture header indicates that the second sub-picture is encoded according to a lossy encoding protocol. The sub-picture header may include detecting an indication that the sub-picture header is currently encoded. The sub-picture header may be explicitly included in the data corresponding to the third frame. Subpictures may also be included by referencing the identifier in the corresponding subpicture header. The decoder may decode the first subpicture using the first processor thread. and decoding elements of the second subpicture using a second processor thread. The device may be further configured to:

[0065] In some embodiments, the decoder receives a bitstream, into quantized coefficients; and an inverse entropy decoder processor configured to: Inverse quantization configured to process quantized coefficients including performing discrete cosine and an inverse transform processor, a deblocking filter, a frame buffer, and an intra prediction and a measurement processor. At least one may form part of a quadtree plus a binary decision tree. and at least one of the second sub-pictures includes a coding tree unit. At least one of the first sub-picture and the second sub-picture may be a codec. The first sub-picture and the second sub-picture may include a coding unit. At least one may include a prediction unit.

[0066] Any one or more aspects and embodiments described herein may be implemented in computer technology. As will be apparent to those skilled in the art, one or more machines (e.g., a user computing device related to an electronic document, One or more servers, such as a document server, Note that the present invention may be conveniently implemented using a Appropriate software coding will be apparent to those skilled in the software arts. Such a configuration can be easily created by a skilled programmer based on the teachings of the present disclosure. The above-described aspects and implementations employing software and / or software modules Also, supporting the implementation of machine-executable instructions for software and / or software modules. It may also include appropriate hardware to support the

[0067] Such software may be incorporated into a computer program product employing a machine-readable storage medium. A machine-readable storage medium may be stored in a machine (e.g., a computing device). The device may store and / or encode sequences of instructions for execution by the device, Any medium that enables a machine to perform any one of the methodologies and / or embodiments described herein. Examples of machine-readable storage media include magnetic disks, optical disks (e.g., CDs, C DR, DVD, DVD-R, etc.), magneto-optical disks, read-only memory (ROM) devices, random access memory (RAM) devices, magnetic cards, optical cards, solid State memory devices, EPROM, EEPROM, and any combination thereof As used herein, a machine-readable medium includes, but is not limited to, a a collection of compact discs or one or more It refers to a single medium, not just a collection of physically separate media, such as multiple hard disk drives. As used herein, a machine-readable storage medium is intended to include a signal-transmitting medium. It does not include temporary forms of faith.

[0068] Such software may also be transmitted as a data signal on a data carrier, such as a carrier wave. The information carried may include information (e.g., data). For example, machine-executable information may include a signal. A code is a sequence of instructions for execution by a machine (e.g., a computing device). or portions thereof, and to a machine, any of the methodologies and / or embodiments described herein. Any associated information (e.g., data structures and data) that causes one of the The information may be included as a data carrying signal embodied on a data carrier.

[0069] Examples of computing devices are e-book reading devices, computer workstations, Stations, terminal computers, server computers, mobile devices (e.g., tablets) laptop computers, smartphones, web appliances, network routers , network switches, network bridges, and the actions that should be performed by the machine. Any machine capable of executing a sequence of instructions specifying an operation, and any combination thereof In one embodiment, the computing device includes, but is not limited to, The device may include a printer and / or may be included in a kiosk.

[0070] FIG. 6 illustrates a control system configured to perform any one or more aspects and / or methodologies of the present disclosure. An exemplary embodiment of a computer system 600 on which a set of instructions for causing 1 shows a diagrammatic representation of an embodiment of a computing device. The device may include one or more devices configured to implement any one or more aspects and / or methods of the present disclosure. It is used to carry out a set of instructions that are specifically designed to carry out legal theory. The computer system 600 communicates with each other via a bus 612. , and other components. 12. Memory bus, memory controller, using any of a variety of bus architectures , peripheral buses, local buses, and any combination thereof. It may include any of several types of bus structures.

[0071] The processor 604 may include, but is not limited to, a state machine, memory, and / or an arithmetic and logic unit (ALU), which may be directed by operational inputs from sensors; Any suitable processor, such as a processor incorporating logic circuitry for performing arithmetic and logical operations. As one non-limiting example, the processor 604 may include a von Neumann The processor 60 may be organized according to a hierarchical and / or Harvard architecture. 4. includes, but is not limited to, microcontrollers, microprocessors, digital signals Processor (DSP), Field Programmable Gate Array (FPGA), Complex Processor Programmable Logic Devices (CPLDs), Graphics Processing Units Graphics Processing Unit (GPU), general-purpose GPU, Tensor Processing Unit (TPU), analog or Mixed-signal processor, Trusted Platform Module (TPM), floating-point may include embedded processors (FPUs), and / or systems on chips (SoCs). and / or may be incorporated.

[0072] The memory 608 may include random access memory components, read-only components, and Various components, including but not limited to, In one embodiment, the computer may include a device (e.g., a machine-readable medium) that is Basic input, including basic routines that help transfer information between elements in the data system 600. An output system 616 (BIOS) may be stored in the memory 608. The memory 608 Also included are instructions (e.g., software) 620 (e.g., stored on one or more machine-readable media) In another embodiment, memory 608 may include an operating system, one or more applications, application programs, other program modules, program data, and Any number of program modules, including, but not limited to, any combination of It may further include:

[0073] The computer system 600 may also include a storage device 624. Examples of storage devices (e.g., storage devices 624) include hard disk drives, magnetic disk drives, EVE, optical disc drives combined with optical media, solid state memory devices, and any combination thereof. , may be connected to the bus 812 by an appropriate interface (not shown). The interface is SCSI, Advanced Technology Attachment (ATA), Real ATA, Universal Serial Bus (USB), IEEE1394 (FIREWI RE), and any combination thereof. The storage device 624 (or one or more components thereof) may be (e.g., external removably connected to the computer system 600 via an external port connector (not shown) In particular, the storage device 624 and associated machine-readable media The body 628 contains machine-readable instructions, data structures, programs, and the like for the computer system 600. Provides non-volatile and / or volatile storage of system modules and / or other data In one embodiment, software 620 may be, in whole or in part, stored on a machine-readable medium. In another embodiment, software 620 may reside entirely or in part within the software 628. Partially, it may reside within the processor 604.

[0074] The computer system 600 may also include an input device 632. A user of the computer system 600 may input commands to the computer via an input device 632. Commands and / or other information may be input to the system 600. Examples are alphanumeric input devices (e.g., keyboards), pointing devices, joysticks, etc. tick, gamepad, audio input device (e.g. microphone, voice response system, etc.) , cursor control devices (e.g., mice), touchpads, optical scanners, video cameras devices (e.g., still cameras, video cameras), touch screens, and The input device 632 may include, but is not limited to, any combination of the above. Al interface, parallel interface, game port, USB interface, FIREWIRE interface, direct interface to bus 612, and Various interfaces (not shown) including, but not limited to, any combination of: The input device 632 may be interfaced to the bus 612 via a It may be part of the display 636, which will be discussed further, or it may be separate. The input device 632 may include a touch screen interface. As such, selecting one or more graphical representations in the graphical interface The device may be used as a user selection device for

[0075] The user may also access a storage device 624 (e.g., a removable disk drive, a flash drive, and / or via a network interface device 640. Commands and / or other information may be input to the computer system 600. A network interface device, such as network interface device 640, One or more various networks, such as network 644, and one or more or used to connect the computer system 600 to multiple remote devices 648. An example of a network interface device is a network interface card (e.g., mobile network interface card, LAN card), model Examples of networks include, but are not limited to, a network, a network with a WAN ... wide area networks (e.g., the Internet, corporate networks), local area networks network (e.g., an office, building, campus, or other relatively small geographic area) associated networks), telephone networks, and telephone / voice providers connected data networks (e.g. data and / or voice networks of mobile telecommunications providers) network), a direct connection between two computing devices, and any combination thereof. A network, such as network 644, includes, but is not limited to, a In general, any network topology may be used. Information (e.g., data, software 620, etc.) may be shared across networks. and / or to computer system 600 via network interface device 640. Alternatively, it may be communicated from the computer system 600.

[0076] The computer system 600 may include a display device, such as a display device 636. and a video display adapter 652 for communicating images displayable on the device. Examples of display devices include liquid crystal displays (LCDs), cathode ray tubes (C RT), plasma displays, light-emitting diode (LED) displays, and their Any combination of display adapter 652 and display The display device 636 may be configured to process and display a graphical representation of aspects of the present disclosure. In addition to the display device, The computer system 600 may include an audio speaker, a printer, and any combination thereof. may include one or more other peripheral output devices, including, but not limited to, Such peripheral output devices are connected to bus 612 via peripheral interface 656. Examples of peripheral interfaces are serial ports, USB connections, FIREWALLs, This includes, but is not limited to, WIRE connections, parallel connections, and any combination thereof. I can't.

[0077] The foregoing is a detailed description of exemplary embodiments of the present invention. Each of the various embodiments described above may be implemented in various ways without departing from the spirit and scope of the present invention. These features are intended to provide various combinations of features in related new embodiments. Therefore, the features of the present invention may be combined with the features of other described embodiments as needed. The foregoing describes several separate embodiments, and what has been described herein demonstrates the principles of the present invention. Furthermore, particular methods herein may be performed in a particular order. may be described and / or described as being performed, the order of which may be It would be well within the ordinary skill in the art to accomplish the methods, systems and software in accordance with the disclosure. Therefore, this description is to be taken by way of example only and does not otherwise affect the invention. It is not intended to limit the scope of the present invention.

[0078] Exemplary embodiments are disclosed above and illustrated in the accompanying drawings. Various modifications may be made to those specifically disclosed herein without departing from the scope and spirit of the present invention. It will be appreciated by those skilled in the art that modifications, omissions and additions may be made.

Claims

1. receiving an encoded video bitstream; identifying a current frame in the bitstream, the system includes a first region, a second region, and a third region; In the bitstream, the first region is coded using block differential pulse code modulation. detecting that the information is encrypted; In the bitstream, the second region is encoded using transform skip residual coding. and detecting that In the bitstream, the third region is encoded using lossy encoding. and detecting that the lossy encoding is performed by one of inter prediction and intra prediction. the detecting includes at least one of: a decoder including circuitry configured to:

2. The bitstream further includes a sub-picture header corresponding to the first region. 、 Detecting that the first region is encoded using block differential pulse code modulation. In the sub-picture header, the at least first region is a block difference pulse. Detecting an indication that the method is encoded using binary code modulation.

2. A decoder according to claim 1.

3. The sub-picture header is explicitly included in the data corresponding to the current frame.

3. A decoder according to claim 2.

4. The sub-picture refers to the identifier in the sub-picture header corresponding to the third sub-picture.

3. A decoder as claimed in claim 2, which is included by referring to

5. The bitstream further includes a sub-picture header corresponding to the second region. 、 The decoder uses transform skip residual coding in the sub-picture header. Detecting the indication that the second region is coded using transform skip residual coding. The decoder of claim 1 further configured to:

6. The sub-picture header is explicitly included in the data corresponding to the current frame.

6. A decoder according to claim 5.

7. Decoding the first region using a first processor thread; decoding elements of the second region using a second processor thread; 10. The decoder of claim 1 further configured to:

8. Decoding the current frame, is a block differential pulse code modulation (BDM) signal. The decoding step may further include decoding the 2. A decoder according to claim 1,

9. Decoding the current frame, using a decoding protocol that corresponds to using transform skip residual coding further configured to perform said decoding, further comprising decoding a second region.

2. The decoder of claim 1, wherein the decoder is configured as follows:

10. Decoding the current frame, the third region using a decoding protocol corresponding to the lossy encoding protocol. The decoding step may further include decoding the 2. A decoder according to claim 1,

11. A method for combined lossless and lossy encoding, comprising: receiving, by a decoder, an encoded video bitstream; Identifying a current frame by the decoder and in the bitstream the current frame includes a first region, a second region, and a third region; To identify and By the decoder and in the bitstream, the first region is represented as a block difference pulse. detecting that the signal is encoded using a time-code modulation; By the decoder and in the bitstream, the second region is transformed skip residue. detecting that the signal is encoded using differential encoding; By the decoder and in the bitstream, the third region is lossy encoded. and detecting that the lossy encoding is performed using an interlaced signal. the detecting includes at least one of prediction and intra-prediction; A method comprising:

12. The bitstream further includes a sub-picture header corresponding to the first region. 、 Detecting that the first region is encoded using block differential pulse code modulation. In the sub-picture header, the at least first region is a block difference pulse. Detecting an indication that the method is encoded using binary code modulation.

12. The method according to claim 11.

13. The sub-picture header is explicitly included in the data corresponding to the current frame. The method of claim 12.

14. The sub-picture refers to the identifier in the sub-picture header corresponding to the third sub-picture.

13. The method of claim 12, comprising:

15. The bitstream further includes a sub-picture header corresponding to the second region. 、 The decoder uses transform skip residual coding in the sub-picture header. Detecting the indication that the second region is coded using transform skip residual coding. The method of claim 11 , further configured to:

16. The sub-picture header is explicitly included in the data corresponding to the current frame.

17. The method of claim 16.

17. Decoding the first region using a first processor thread; decoding elements of the third region using a second processor thread; and The method of claim 11 , further comprising:

18. Decoding the current frame, is a block differential pulse code modulation (BDM) signal.

12. The method of claim 11, further comprising: decoding How to do it.

19. Decoding the current frame, using a decoding protocol that corresponds to using transform skip residual coding 4. The method of claim 1, further comprising: decoding a second region.

12. The method according to claim 11.

20. Decoding the current frame, the third region using a decoding protocol corresponding to the lossy encoding protocol.

12. The method of claim 11, further comprising: decoding How to do it.

21. receiving an encoded bitstream; identifying a current frame in the bitstream, the system includes a first sub-picture and a second sub-picture; In the bitstream, the first sub-picture is encoded according to a lossless coding protocol. detecting an indication that the data is encoded with Decoding the current frame, the first sub-sequence is encoded using a lossless decoding protocol corresponding to the lossless encoding protocol. the decoding step further comprising decoding a picture; a decoder including circuitry configured to:

22. The bitstream further includes a sub-picture header corresponding to the first sub-picture. Including, The detecting step includes detecting the at least first sub-picture in the sub-picture header. detecting the indication that the is encoded according to a lossless encoding protocol.

22. The decoder of claim 21 further comprising:

23. The sub-picture header is explicitly included in the data corresponding to the current frame.

23. A decoder according to claim 22.

24. The sub-picture refers to the identifier in the sub-picture header corresponding to the third sub-picture.

23. A decoder according to claim 22, which is included by referencing

25. the second sub-picture is encoded according to a lossy encoding protocol; and detecting the second signal according to a lossy decoding protocol corresponding to the lossless encoding protocol; 22. The method of claim 21 further configured to: Decoder included.

26. The bitstream further includes a sub-picture header corresponding to the second sub-picture. Including, The decoder determines in the sub-picture header that the second sub-picture is lossy encoded. and detecting said indication that said information is encoded according to a protocol.

26. A decoder according to claim 25, further comprising:

27. The sub-picture header is explicitly included in the data corresponding to the current frame.

27. A decoder according to claim 26.

28. The sub-picture header includes an identification of a sub-picture header corresponding to a third sub-picture.

27. The decoder of claim 26, which is included by reference to a child.

29. decoding the first sub-picture using a first processor thread; decoding elements of the second sub-picture using a second processor thread; 22. The decoder of claim 21 further configured to:

30. receiving the bitstream and decoding the bitstream into quantized coefficients; an entropy decoder processor configured to: configured to process the quantized coefficients, including performing an inverse discrete cosine. an inverse quantization and inverse transform processor; A deblocking filter; A frame buffer and an intra-prediction processor; 22. The decoder of claim 21 further comprising:

31. At least one of the first sub-picture and the second sub-picture is a quadrant.

22. A decoder according to claim 21, forming part of a tree plus binary decision tree.

32. At least one of the first sub-picture and the second sub-picture is coded.

22. A decoder according to claim 21, comprising a decoding tree unit.

33. At least one of the first sub-picture and the second sub-picture is coded.

22. A decoder according to claim 21, comprising a decoding unit.

34. At least one of the first sub-picture and the second sub-picture is a predicted sub-picture.

22. A decoder according to claim 21, comprising a unit.

35. A method for combined lossless and lossy encoding, comprising: receiving a bitstream at a decoder; Identifying a current frame by the decoder and in the bitstream the current frame includes a first sub-picture and a second sub-picture; Identifying the By the decoder and in the bitstream, the first subpicture is losslessly coded. detecting an indication that the data is encoded according to an encryption protocol; decoding, by the decoder, the current frame, Decoding the frame is performed using a lossless decoding protocol corresponding to the lossless encoding protocol. the decoding further comprising decoding the first sub-picture using and, A method comprising:

36. The bitstream further includes a sub-picture header corresponding to the first sub-picture. Including, The detecting step includes detecting the at least first sub-picture in the sub-picture header. detecting the indication that the is encoded according to a lossless encoding protocol.

36. The method of claim 35, further comprising:

37. The sub-picture header is explicitly included in the data corresponding to the current frame.

37. The method of claim 36.

38. The sub-picture refers to the identifier in the sub-picture header corresponding to the third sub-picture.

37. The method of claim 36, comprising:

39. the second sub-picture is encoded according to a lossy encoding protocol; and detecting the second signal according to a lossy decoding protocol corresponding to the lossless encoding protocol; 40. The method of claim 39, further comprising: decoding the sub-picture.

40. The bitstream further includes a sub-picture header corresponding to the second sub-picture. Including, The detecting step includes detecting in the sub-picture header that the second sub-picture is a lossy code.

39. The method of claim 39, further comprising the step of: The method described below.

41. The sub-picture header is explicitly included in the data corresponding to the current frame.

41. The method of claim 40.

42. The sub-picture header includes an identification of a sub-picture header corresponding to a third sub-picture.

41. The method of claim 40, wherein the child is included by reference.

43. The decoder decoding the first sub-picture using a first processor thread; decoding elements of the second sub-picture using a second processor thread; 36. The method of claim 35, further configured to:

44. The decoder receiving the bitstream and decoding the bitstream into quantized coefficients; an entropy decoder processor configured to: configured to process the quantized coefficients, including performing an inverse discrete cosine. an inverse quantization and inverse transform processor; A deblocking filter; A frame buffer and an intra-prediction processor; 36. The method of claim 35, further comprising:

45. At least one of the first sub-picture and the second sub-picture is a quadrant.

36. The method of claim 35, wherein the tree plus forms part of a binary decision tree.

46. At least one of the first sub-picture and the second sub-picture is coded.

36. The method of claim 35, comprising: a coding tree unit.

47. At least one of the first sub-picture and the second sub-picture is coded.

36. The method of claim 35, further comprising:

48. At least one of the first sub-picture and the second sub-picture is a predicted sub-picture.

36. The method of claim 35, comprising a unit.

Citation Information

Patent Citations

  • Lossless coding and related signaling methods for composite video

    JP2014520493A