Coder and decoder, coding method and decoding method for independent coding regions free dift fill and hash

By adopting drift-free filtering technology and hash information encoding in video encoding and decoding, the problems of insufficient parallel processing capabilities and serious subjective artifacts in the prior art are solved, and more efficient video encoding and decoding effects are achieved.

CN119996678APending Publication Date: 2025-05-13FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510096486.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2019-05-22
Filing Date
2020-05-20
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

Existing video encoding and decoding technologies are difficult to effectively support the parallel processing of video encoder and decoder, especially at the boundaries of independent encoding areas. Traditional filtering methods cannot effectively mitigate subjective artifacts, and image hash signaling cannot be effectively used in some use cases.

Method used

Drift-free filtering technology is used to filter at the boundaries of independent coding areas, and the filtering effect is optimized by modifying the range of influence of the filter. Furthermore, using hash information encoding, the hash information only depends on the current part of the current image and not on the subsequent part.

Benefits of technology

It effectively reduces subjective artifacts at the boundaries of independent encoding areas, improves the parallel processing capabilities of video encoding and decoding, and improves the decoding quality of the image through hash information encoding in some use cases.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119996678A_ABST
    Figure CN119996678A_ABST
Patent Text Reader

Abstract

A video encoder (101) according to an embodiment is provided. A video encoder (101) is configured to encode a plurality of images of a video by generating an encoded video signal, wherein each of the plurality of images comprises raw image data. A video encoder (101) comprises a data encoder (110) configured to generate an encoded video signal comprising encoded image data, where the data encoder is configured to encode a plurality of images of a video into the encoded image data. Furthermore, the video encoder (101) comprises an output interface (120) for outputting the encoded image data for each of the plurality of images. Further, a video decoder, a system, a method for encoding and decoding, a computer program and an encoded video signal according to the embodiments are provided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application is a divisional application of Application No.: 202080050882.6 Invention Name: Encoder and decoder for drift-free padding and hashing of independent coding regions, encoding method and decoding method. The present invention relates to video encoding and video decoding, and in particular to an encoder and decoder, encoding method and decoding method for drift-free padding and / or hashing of independent coding regions. Background Art

[0002] H.265 / HEVC (HEVC = High Efficiency Video Coding) is a video codec that already provides tools for improving or even enabling parallel processing at the encoder and / or decoder. For example, HEVC supports the subdivision of an image into an array of tiles that are coded independently of each other. Another concept supported by HEVC is related to WPP, according to which CTU rows or CTU rows of an image can be processed in parallel from left to right, for example in a slice, provided that some minimum CTU offset (CTU = Coding Tree Unit) is observed when processing consecutive CTU rows. However, it would be advantageous if an existing video codec would more efficiently support the parallel processing capabilities of a video encoder and / or video decoder.

[0003] In the following, the introduction of VCL partitioning according to the prior art is described (VCL=Video Coding Layer).

[0004] Typically, in video coding, the coding process of image samples requires smaller partitions, where the samples are divided into rectangular areas for joint processing, such as prediction or transform coding. Therefore, the image is divided into blocks of a certain size, which is constant during the coding of the video sequence. In the H.264 / AVC standard, fixed-size blocks of 16x16 samples, so-called macroblocks, are used (AVC = Advanced Video Coding).

[0005] In the state-of-the-art HEVC standard (see [1]), there is a coding tree block (CTB) or coding tree unit (CTU) with a maximum size of 64 x 64 samples. In the further description of HEVC, the more general term CTU is used for such a block.

[0006] CTUs are processed in raster scan order, starting with the top-left CTU and processing the CTUs in the image row by row, all the way to the bottom-right CTU.

[0007] The coded CTU data is organized into a kind of container called a slice. Originally, in previous video coding standards, a slice was a sliced ​​segment consisting of one or more consecutive CTUs of a picture. Slices are used for segmentation of coded data. From another point of view, a complete picture can also be qualified as one large slice, so, historically, the term slice still applies. In addition to the coded picture samples, a slice also includes additional information related to the encoding process of the slice itself, which is placed in the so-called slice header.

[0008] According to the prior art, VCL (Video Coding Layer) also includes techniques for segmentation and spatial partitioning. For example, this partitioning can be applied to video coding for various reasons, including processing load balancing in parallelization, CTU size matching in network transmission, error mitigation, etc. Summary of the invention

[0009] It is an object of the present invention to provide improved concepts for video encoding and video decoding.

[0010] The objects of the invention are solved by the subjects of the independent claims.

[0011] A video decoder is provided for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video according to an embodiment. The video decoder includes an input interface configured to receive the encoded video signal, and a data decoder configured to reconstruct multiple images of the video by decoding the encoded image data. Each of the multiple images includes a plurality of tiles, wherein each of the multiple tiles includes a plurality of samples. For a first tile and a second tile of two adjacent tiles among a plurality of tiles of a first image of the multiple images, the data decoder is configured to filter across a boundary between the first tile and the second tile to obtain a first filtered tile, wherein the first tile and the second tile have been independently encoded relative to each other. The data decoder is configured to decode a current tile of a plurality of tiles of a second image of a plurality of images based on a reference block of the first filtered tile of the first image, wherein the reference block comprises a first set of samples of the first filtered tile, and wherein the reference block does not comprise a second set of samples of the first filtered tile, wherein none of the first set of samples is affected by the filtering across the boundary between the first tile and the second tile, and wherein one or more of the second set of samples has been affected by the filtering across the boundary between the first tile and the second tile.

[0012] In addition, a video encoder for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder includes a data encoder configured to generate an encoded video signal including encoded image data, wherein the data encoder is configured to encode the multiple images of the video into encoded image data, and an output interface configured to output the encoded image data of each of the multiple images. Each of the multiple images includes a plurality of tiles, wherein each of the multiple tiles includes a plurality of samples. For a first tile and a second tile of two adjacent tiles of a plurality of tiles of a first image in the multiple images, there is a boundary between the first tile and the second tile. The data encoder is configured to encode the first tile and the second tile independently relative to each other. Furthermore, the data encoder is configured to encode a current tile of a plurality of tiles of a second image of the plurality of images based on a reference block of the first tile of the first image, wherein a filter defines filtering across the boundary between the first tile and the second tile, wherein the reference block comprises a first set of samples of the first tile, and wherein the reference block does not comprise a second set of samples of the first tile, wherein none of the first set of samples will be affected by the filtering using the filter, and wherein one or more of the second set of samples will be affected by the filtering using the filter.

[0013] Furthermore, a method for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video according to an embodiment is provided. The decoding method comprises:

[0014] - receiving an encoded video signal. And:

[0015] -Reconstructing multiple images of a video by decoding the encoded image data.

[0016] Each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples. For a first tile and a second tile of two adjacent tiles of a plurality of tiles of a first image of the plurality of images, a method comprises filtering across a boundary between the first tile and the second tile to obtain a first filtered tile, wherein the first tile and the second tile have been encoded independently of each other. The method comprises decoding a current tile of a plurality of tiles of a second image of the plurality of images according to a reference block of the first filtered tile of the first image, wherein the reference block comprises a first set of samples of the first filtered tile, and wherein the reference block does not comprise a second set of samples of the first filtered tile, wherein none of the first set of samples is affected by the filtering across the boundary between the first tile and the second tile, and wherein one or more of the second set of samples has been affected by the filtering across the boundary between the first tile and the second tile.

[0017] In addition, a method for encoding a plurality of images of a video by generating an encoded video signal according to an embodiment is provided. Each of the plurality of images includes original image data. The method includes:

[0018] - generating an encoded video signal comprising encoded image data, wherein generating the encoded video signal comprises encoding a plurality of images of the video into the encoded image data, and

[0019] - outputting encoded image data for each of a plurality of images,

[0020] Each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples. For a first tile and a second tile of two adjacent tiles of a plurality of tiles of a first image of the plurality of images, there is a boundary between the first tile and the second tile. The method comprises encoding the first tile and the second tile independently relative to each other. Furthermore, the method comprises encoding a current tile of a plurality of tiles of a second image of the plurality of images according to a reference block of the first tile of the first image, wherein a filter defines filtering across the boundary between the first tile and the second tile, wherein the reference block comprises a first set of samples of the first tile, and wherein the reference block does not comprise a second set of samples of the first tile, wherein none of the first set of samples will be affected by the filtering using the filter, and wherein one or more of the second set of samples will be affected by the filtering using the filter.

[0021] Furthermore, a computer program is provided for implementing one of the above methods of the claims when executed on a computer or a signal processor.

[0022] In addition, an encoded video signal is provided for encoding a plurality of images including a plurality of tiles according to an embodiment. Each of the plurality of tiles includes a plurality of samples, wherein the encoded video signal includes encoded image data for encoding the plurality of images. The encoded video signal includes encoding of the plurality of images. For a first tile and a second tile of two adjacent tiles of a plurality of tiles of a first image of the plurality of images, there is a boundary between the first tile and the second tile. The first tile and the second tile are independently encoded relative to each other within the encoded video signal. A current tile of a plurality of tiles of a second image of the plurality of images is encoded according to a reference block of the first tile of the first image, wherein a filter defines filtering across the boundary between the first tile and the second tile, wherein the reference block includes a first set of samples of the first tile, and wherein the reference block does not include a second set of samples of the first tile, wherein none of the first set of samples will be affected by the filtering using the filter, and wherein one or more of the second set of samples will be affected by the filtering using the filter.

[0023] In one embodiment, the encoded video signal may, for example, comprise an indication of an encoding mode indicating that samples of said reference block used for decoding said current tile are not affected by said filtering across said boundary between a first tile and a second tile.

[0024] In addition, a system comprising the video encoder and the video decoder is provided. The video encoder is configured to generate an encoded video signal. The video decoder is configured to decode the encoded video signal to reconstruct an image of the video.

[0025] In addition, a video decoder is provided for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video according to an embodiment. The video decoder includes an input interface configured to receive an encoded video signal, and a data decoder configured to reconstruct multiple images of a video by decoding the encoded image data. Each of the multiple images includes multiple tiles, wherein each of the multiple tiles includes multiple blocks, wherein each of the multiple blocks includes multiple samples. For a first tile and a second tile of two adjacent tiles in a plurality of tiles of an image of the multiple images, there is a boundary between the first tile and the second tile. The first tile and the second tile have been independently encoded relative to each other. The data decoder is configured to filter the first tile using a filter or a filter kernel, wherein the data decoder is configured to modify the reach of the filter or the filter kernel according to a distance between a block of the first tile to be filtered by the filter or the filter kernel and the boundary between the first tile and the second tile, the block being one of the multiple blocks of the first tile.

[0026] In addition, a video encoder for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder includes a data encoder configured to generate an encoded video signal including encoded image data, wherein the data encoder is configured to encode multiple images of the video into encoded image data, and an output interface configured to output the encoded image data of each of the multiple images. Each of the multiple images includes multiple tiles, wherein each of the multiple tiles includes multiple blocks, wherein each of the multiple blocks includes multiple samples. For a first tile and a second tile of two adjacent tiles in a plurality of tiles of a first image in the multiple images, there is a boundary between the first tile and the second tile. The data encoder is configured to encode the first tile and the second tile independently relative to each other. In addition, the data encoder is configured to filter the first tile using a filter or a filter kernel, wherein the data encoder is configured to correct the influence range of the filter or the filter kernel according to the distance between the block to be filtered by the filter or the filter kernel and the boundary between the first tile and the second tile, the block being one of the multiple blocks of the first tile.

[0027] Furthermore, a method for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video is provided according to an embodiment. The decoding method comprises:

[0028] - receiving an encoded video signal, and

[0029] -Reconstructing multiple images of a video by decoding the encoded image data.

[0030] Each of the plurality of images includes a plurality of tiles, wherein each of the plurality of tiles includes a plurality of blocks, wherein each of the plurality of blocks includes a plurality of samples.

[0031] For a first tile and a second tile of two adjacent tiles in a plurality of tiles of an image of a plurality of images, there is a boundary between the first tile and the second tile. The first tile and the second tile have been independently encoded relative to each other. The method includes filtering the first tile using a filter or a filter kernel, wherein the method includes correcting an influence range of the filter or the filter kernel according to a distance between a block of the first tile to be filtered by the filter or the filter kernel and the boundary between the first tile and the second tile, the block being one of the plurality of blocks of the first tile.

[0032] Furthermore, a method of encoding a plurality of images of a video by generating an encoded video signal, wherein each of the plurality of images comprises original image data, wherein the method comprises:

[0033] - generating an encoded video signal comprising encoded image data, wherein generating the encoded video signal comprises encoding a plurality of images of a video into the encoded image data. And:

[0034] - outputting encoded image data for each of the plurality of images.

[0035] Each of the plurality of images includes a plurality of tiles, wherein each of the plurality of tiles includes a plurality of blocks, wherein each of the plurality of blocks includes a plurality of samples. For a first tile and a second tile of two adjacent tiles in a plurality of tiles of a first image in the plurality of images, there is a boundary between the first tile and the second tile. The method includes encoding the first tile and the second tile independently relative to each other. In addition, the method includes filtering the first tile using a filter or a filter kernel, wherein the method includes correcting a range of influence of the filter or the filter kernel according to a distance between a block to be filtered by the filter or the filter kernel and the boundary between the first tile and the second tile, the block being one of the plurality of blocks of the first tile.

[0036] Furthermore, a computer program is provided for implementing one of the above methods when executed on a computer or a signal processor according to an embodiment.

[0037] In addition, there is provided an encoded video signal, which encodes a plurality of images including a plurality of tiles according to an embodiment. Each of the plurality of tiles includes a plurality of samples. The encoded video signal includes encoded image data encoding the plurality of images. In addition, the encoded video signal includes encoding of the plurality of images. Each of the plurality of images includes a plurality of tiles, wherein each of the plurality of tiles includes a plurality of blocks, wherein each of the plurality of blocks includes a plurality of samples. For a first tile and a second tile of two adjacent tiles in a plurality of tiles of a first image of the plurality of images, there is a boundary between the first tile and the second tile. The first tile and the second tile are independently encoded relative to each other within the encoded video signal. The encoded video signal depends on filtering a first tile using a filter or a filter kernel, wherein during filtering, the influence range of the filter or the filter kernel has been modified according to the distance between the block to be filtered by the filter or the filter kernel and the boundary between the first tile and the second tile, the block being one of the plurality of blocks of the first tile.

[0038] In addition, a system comprising the above video encoder and the above video decoder according to an embodiment is provided. The video encoder is configured to generate an encoded video signal. The video decoder is configured to decode the encoded video signal to reconstruct an image of the video.

[0039] In addition, a video encoder for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder includes a data encoder configured to generate an encoded video signal including encoded image data, wherein the data encoder is configured to encode multiple images of the video into encoded image data, and an output interface configured to output the encoded image data of each of the multiple images. Each of the multiple images includes multiple tiles, wherein each of the multiple tiles includes multiple samples. The data encoder is configured to determine an independently encoded tile group, the independently encoded tile group including three or more tiles of multiple tiles of a reference image of the multiple images. In addition, the data encoder is configured to encode the multiple images according to a reference block located in the reference image. In addition, the data encoder is configured to select a position for the reference block in the reference image so that the reference block is not partially located in three tiles of the three or more tiles of the independently encoded tile group, and partially located in another tile of the multiple tiles of the reference image that does not belong to the independently encoded tile group.

[0040] In addition, a method for encoding a plurality of images of a video by generating an encoded video signal according to an embodiment is provided. Each of the plurality of images includes original image data. The method includes:

[0041] - generating an encoded video signal comprising encoded image data, wherein generating the encoded video signal comprises encoding a plurality of images of a video into the encoded image data. And:

[0042] - outputting encoded image data for each of the plurality of images.

[0043] Each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples. The method comprises determining an independently coded tile group, the independently coded tile group comprising three or more tiles of a plurality of tiles of a reference image of the plurality of images. Furthermore, the method comprises encoding the plurality of images according to a reference block located within the reference image. Furthermore, the method comprises selecting a position for the reference block within the reference image such that the reference block is not both partially located within three tiles of the three or more tiles of the independently coded tile group and partially located within another tile of the plurality of tiles of the reference image that does not belong to the independently coded tile group.

[0044] Furthermore, a computer program is provided for implementing one of the above methods when executed on a computer or a signal processor according to an embodiment.

[0045] In addition, a coded video signal according to an embodiment is provided, wherein the coded video signal encodes a plurality of images including a plurality of tiles. Each of the plurality of tiles includes a plurality of samples. The coded video signal includes coded image data for encoding the plurality of images. The coded video signal includes encoding of the plurality of images. Each of the plurality of images includes a plurality of tiles, wherein each of the plurality of tiles includes a plurality of samples. The coded video signal includes an independently coded tile group, wherein the independently coded tile group includes three or more tiles of a plurality of tiles of a reference image of the plurality of images. The plurality of images are encoded in a video data stream according to a reference block located in the reference image. The reference block is not partially located in three tiles of the three or more tiles of the independently coded tile group, and partially located in another tile of the plurality of tiles of the reference image that does not belong to the independently coded tile group.

[0046] In addition, a system according to an embodiment is provided, comprising the above-mentioned video encoder and video decoder, for decoding a coded video signal including coded image data to reconstruct multiple images of a video. The video decoder comprises an input interface configured to receive the coded video signal, and a data decoder configured to reconstruct multiple images of a video by decoding the coded image data. The video encoder is configured to generate a coded video signal. The video decoder is configured to decode the coded video signal to reconstruct an image of the video.

[0047] A video encoder for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder includes a data encoder configured to generate an encoded video signal including encoded image data, wherein the data encoder is configured to encode multiple images of the video into encoded image data, and an output interface configured to output the encoded image data of each of the multiple images. Each of the multiple images includes multiple tiles, wherein each of the multiple tiles includes multiple samples. The data encoder is configured to determine an independently encoded tile group, which includes three or more tiles of multiple tiles of a reference image of the multiple images. In addition, the data encoder is configured to encode the multiple images according to a reference block located in the reference image, wherein the reference block is partially located in three of the three or more tiles of the independently encoded tile group and partially located in another tile of the multiple tiles of the reference image that does not belong to the independently encoded tile group. In addition, the data encoder is configured to determine a plurality of reference samples of a portion of the reference block located within the other tile that does not belong to the independently encoded tile group based on one or more of the plurality of samples of the first of the three tiles of the independently encoded tile group and based on one or more of the plurality of samples of the second of the three tiles of the independently encoded tile group.

[0048] In addition, a video decoder is provided for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video according to an embodiment. The video decoder includes an input interface configured to receive an encoded video signal, and a data decoder configured to reconstruct multiple images of a video by decoding the encoded image data. Each of the multiple images includes a plurality of tiles, wherein each of the multiple tiles includes a plurality of samples. The encoded video signal includes an independently encoded tile group, wherein the independently encoded tile group includes three or more tiles of a plurality of tiles of a reference image of the multiple images. The data decoder is configured to decode the multiple images according to a reference block located within the reference image, wherein the reference block is partially located within three tiles of the three or more tiles of the independently encoded tile group and partially located within another tile of the plurality of tiles of the reference image that does not belong to the independently encoded tile group. In addition, the data decoder is configured to determine a plurality of reference samples of a portion of the reference block located within the other tile that does not belong to the independently coded tile group based on one or more of the plurality of samples of the first of the three tiles of the independently coded tile group and based on one or more of the plurality of samples of the second of the three tiles of the independently coded tile group.

[0049] In addition, a method for encoding a plurality of images of a video by generating an encoded video signal is provided. Each of the plurality of images comprises original image data. The method comprises:

[0050] - generating an encoded video signal comprising encoded image data, wherein generating the encoded video signal comprises encoding a plurality of images of a video into the encoded image data. And:

[0051] - outputting encoded image data for each of the plurality of images.

[0052] Each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples. The method comprises determining an independently encoded tile group, the independently encoded tile group comprising three or more tiles of a plurality of tiles of a reference image of the plurality of images. Furthermore, the method comprises encoding the plurality of images according to a reference block located within the reference image, wherein the reference block is partially located within three tiles of the three or more tiles of the independently encoded tile group and partially located within another tile of the plurality of tiles of the reference image that does not belong to the independently encoded tile group. Furthermore, the method comprises determining a plurality of reference samples of a portion of the reference block located within the another tile that does not belong to the independently encoded tile group according to one or more of a plurality of samples of a first of the three tiles of the independently encoded tile group, and according to one or more of a plurality of samples of a second tile of the three tiles of the independently encoded tile group.

[0053] Furthermore, a method for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video according to an embodiment is provided. The decoding method comprises:

[0054] - receiving an encoded video signal. And:

[0055] -Reconstructing multiple images of a video by decoding the encoded image data.

[0056] Each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples. The encoded video signal comprises an independent encoded tile group comprising three or more tiles of the plurality of tiles of a reference image of the plurality of images,

[0057] The method comprises decoding a plurality of images based on a reference block located in a reference image, wherein the reference block is partially located in three tiles of three or more tiles of the independently coded tile group and partially located in another tile of the plurality of tiles of the reference image that does not belong to the independently coded tile group. Furthermore, the method comprises determining a plurality of reference samples of a portion of the reference block located in the another tile that does not belong to the independently coded tile group based on one or more of a plurality of samples of a first of the three tiles of the independently coded tile group and based on one or more of a plurality of samples of a second tile of the three tiles of the independently coded tile group.

[0058] Furthermore, a computer program is provided for implementing one of the above methods when executed on a computer or a signal processor according to an embodiment.

[0059] In addition, according to an embodiment, a coded video signal is provided for encoding a plurality of images including a plurality of tiles, wherein each of the plurality of tiles includes a plurality of samples. The coded video signal includes coded image data for encoding the plurality of images. In addition, the coded video signal includes coding of the plurality of images. Each of the plurality of images includes a plurality of tiles, wherein each of the plurality of tiles includes a plurality of samples. An independently coded tile group of three or more tiles of a plurality of tiles of a reference image including the plurality of images is independently coded within the coded video signal. A plurality of images are coded within the coded video signal based on a reference block located within the reference image, wherein the reference block is partially located within three tiles of the three or more tiles of the independently coded tile group and partially located within another tile of the plurality of tiles of the reference image that does not belong to the independently coded tile group. Multiple reference samples of a portion of the reference block located within the other tile that does not belong to the independently encoded tile group can derive one or more samples of the multiple samples of the first tile of the three tiles of the independently encoded tile group and one or more samples of the multiple samples of the second tile of the three tiles of the independently encoded tile group.

[0060] In addition, a system comprising the above video encoder and the above video decoder according to an embodiment is provided. The video encoder is configured to generate an encoded video signal. The video decoder is configured to decode the encoded video signal to reconstruct an image of the video.

[0061] In addition, a video encoder for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder includes a data encoder configured to generate an encoded video signal including encoded image data, wherein the data encoder is configured to encode multiple images of the video into encoded image data, and an output interface configured to output the encoded image data of each of the multiple images. The data encoder is configured to encode hash information within the encoded video signal. In addition, the data encoder is configured to generate hash information based on a current portion of a current image in the multiple images without depending on a subsequent portion of the current image, wherein the current portion has a first position in the current image, and the subsequent portion has a second position in the image that is different from the first position.

[0062] In addition, a video decoder according to an embodiment is provided for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video. The video decoder includes an input interface configured to receive the encoded video signal, and a data decoder configured to reconstruct multiple images of the video by decoding the encoded image data. The data decoder is configured to analyze hash information encoded within the encoded video signal, wherein the hash information depends on a current portion of a current image of the multiple images, but does not depend on a subsequent portion of the current image, wherein the current portion has a first position within the current image, and the subsequent portion has a second position in the image that is different from the first position.

[0063] Furthermore, a method of encoding a plurality of images of a video by generating an encoded video signal, wherein each of the plurality of images comprises original image data. The method comprises:

[0064] - generating an encoded video signal comprising encoded image data, wherein generating the encoded video signal comprises encoding a plurality of images of a video into the encoded image data. And:

[0065] - outputting encoded image data for each of a plurality of images,

[0066] The method includes generating hash information based on a current portion of a current image in a plurality of images independently of a subsequent portion of the current image, wherein the current portion has a first position within the current image and the subsequent portion has a second position in the image different from the first position. In addition, the method includes encoding the hash information within an encoded video signal.

[0067] Furthermore, a method for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video is provided according to an embodiment. The decoding method comprises:

[0068] - receiving an encoded video signal. And:

[0069] -Reconstructing multiple images of a video by decoding the encoded image data.

[0070] The method includes analyzing hash information encoded within an encoded video signal, wherein the hash information depends on a current portion of a current image among a plurality of images but does not depend on a subsequent portion of the current image, wherein the current portion has a first position within the current image and the subsequent portion has a second position in the image that is different from the first position.

[0071] Furthermore, a computer program for implementing one of the above methods when executed on a computer or a signal processor according to an embodiment is provided.

[0072] In addition, an encoded video signal according to an embodiment is provided, wherein the encoded video signal encodes a plurality of images including a plurality of tiles. Each of the plurality of tiles includes a plurality of samples, wherein the encoded video signal includes encoded image data encoding the plurality of images. The encoded video signal includes encoding of the plurality of images. The encoded video signal includes encoding of hash information, wherein the hash information depends on a current portion of a current image in the plurality of images, but does not depend on a subsequent portion of the current image, wherein the current portion has a first position in the current image, and the subsequent portion has a second position in the image that is different from the first position.

[0073] In addition, a system comprising the above video encoder and the above video decoder according to an embodiment is provided. The video encoder is configured to generate an encoded video signal. The video decoder is configured to decode the encoded video signal to reconstruct an image of the video.

[0074] Preferred embodiments are provided in the dependent claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0075] The embodiments of the present invention are described in detail below with reference to the accompanying drawings, wherein:

[0076] Figure 1 A video encoder according to an embodiment is shown.

[0077] Figure 2 A video decoder according to an embodiment is shown.

[0078] Figure 3 A system according to an embodiment is shown.

[0079] Figure 4a A contaminated sample within a tile from a loop filtering procedure is shown.

[0080] Figure 4b VVC tile boundary extensions from separate regions of contaminated samples are shown.

[0081] Figure 5 A tile boundary extension process subject to the influence range of the loop filter kernel is shown according to an embodiment.

[0082] Figure 6 The tile and tile group partitioning of a coded picture is shown.

[0083] Figure 7 A reference block with prior art border padding is shown.

[0084] Figure 8 A diagonally partitioned concave tile group boundary is shown in accordance with an embodiment.

[0085] Fig. 9 A video encoder is shown.

[0086] Fig.10 A video decoder is shown.

[0087] Fig.11 The relationship between the reconstruction signal, ie the reconstructed picture, on the one hand, and the combination of the prediction residual signal and the prediction signal signaled in the data stream, on the other hand, is shown. DETAILED DESCRIPTION

[0088] The following description of the figures begins with the presentation of a description of an encoder and a decoder of a block-based prediction codec for encoding images of a video in order to form an example for a coding framework in which embodiments of the present invention may be built. Figures 9 to 11 The following provides a description of embodiments of the concepts of the present invention and how these concepts can be built into Fig. 9 and Fig.10 In the encoder and decoder, although Figures 1 to 3 The embodiments described below can also be used to form Fig. 9 and Fig.10 The encoder and decoder of the coding framework operate the encoder and decoder.

[0089] Fig. 9 A video encoder is shown, an apparatus for predictive encoding of an image 12 into a data stream 14, exemplarily using transform-based residual coding. The apparatus or encoder is denoted by reference numeral 10. Fig.10 A corresponding video decoder 20 is shown, i.e. an apparatus 20 configured to predictively decode an image 12' from a data stream 14 also using transform-based residual decoding, wherein a prime sign has been used to indicate that the image 12' reconstructed by the decoder 20 deviates from the image 12 originally encoded by the apparatus 10 in terms of coding losses introduced by quantization of the prediction residual signal. Fig. 9 and Fig.10 Transform-based prediction residual coding is used exemplarily, but the embodiments of the present application are not limited to such prediction residual coding. Fig. 9 and Fig.10 The same is true for the other details of the description, as will be outlined below.

[0090] The encoder 10 is configured to perform a spatial to spectral transform on a prediction residual signal and to encode the prediction residual signal thus obtained into a data stream 14. Likewise, the decoder 20 is configured to decode the prediction residual signal from the data stream 14 and to perform a spectral to spatial transform on the prediction residual signal thus obtained.

[0091] Internally, the encoder 10 may comprise a prediction residual signal former 22, which generates a prediction residual 24 in order to measure the deviation of the prediction signal 26 from the original signal, i.e. from the image 12. The prediction residual signal former 22 may, for example, be a subtractor which subtracts the prediction signal from the original signal, i.e. from the image 12. The encoder 10 then further comprises a transformer 28, which subjects the prediction residual signal 24 to a spatial to spectral transformation in order to obtain a spectral-domain prediction residual signal 24' which is then quantized by a quantizer 32, which is also comprised in the encoder 10. The prediction residual signal 24" thus quantized is encoded into the bitstream 14. For this purpose, the encoder 10 may optionally comprise an entropy encoder 34 for entropy encoding the prediction residual signal transformed and quantized into the data stream 14. Based on the prediction residual signal 24" encoded into the data stream 14 and decodable from the data stream 14, the prediction signal 26 is generated by a prediction stage 36 of the encoder 10. For this purpose, the prediction stage 36 may internally, e.g. Fig. 9 As shown, it includes a dequantizer 38 for dequantizing the prediction residual signal 24" so as to obtain a spectral domain prediction residual signal 24"', which corresponds to the signal 24' except for the quantization losses, followed by an inverse transformer 40, which performs an inverse transform, i.e. a spectral to spatial transform, on the latter prediction residual signal 24"' to obtain a prediction residual signal 24"", which corresponds to the original prediction residual signal 24 except for the quantization losses. The combiner 42 of the prediction stage 36 then recombines the prediction signal 26 and the prediction residual signal 24"" by, for example, addition to obtain a reconstructed signal 46, i.e. a reconstruction of the original signal 12. The reconstructed signal 46 may then correspond to the signal 12'. The prediction module 44 of the prediction stage 36 generates the prediction signal 26 based on the signal 46 by using, for example, spatial prediction, i.e. intra-image prediction, and / or temporal prediction, i.e. inter-image prediction.

[0092] Likewise, the decoder 20, such as Fig.10 As shown, it can be internally composed of components corresponding to the prediction stage 36 and interconnected in a manner corresponding to the prediction stage 36. In particular, the entropy decoder 50 of the decoder 20 can entropy decode the quantized spectral domain prediction residual signal 24" from the data stream, so the dequantizer 52, the inverse transformer 54, the combiner 56 and the prediction module 58 interconnected and cooperating in the manner of the modules of the prediction stage 36 described above, recover the reconstructed signal based on the prediction residual signal 24", so, as shown Fig.10 As shown, the output of combiner 56 produces the reconstructed signal, image 12'.

[0093] Although not specifically described above, it is readily apparent that the encoder 10 may set some encoding parameters, including, for example, prediction modes, motion parameters, etc., according to some optimization schemes, such as in a manner that optimizes some rate and distortion-related criteria, i.e., encoding cost. For example, the modules 44, 58 corresponding to the encoder 10 and the decoder 20, respectively, may support different prediction modes, such as intra-coding mode and inter-coding mode. The granularity at which the encoder and the decoder switch between these prediction mode types may correspond to subdividing the images 12 and 12' into coding segments or coding blocks, respectively. For example, in units of these coding segments, the images may be subdivided into intra-coded blocks and inter-coded blocks. As outlined in more detail below, the intra-coded blocks are predicted based on the spatial, already encoded / decoded neighborhood of the corresponding blocks. Multiple intra-coding modes may exist and be selected for corresponding intra-coding modes including directional or angular intra-coding modes, according to which the corresponding segments are filled by extrapolating the sample values ​​of the neighborhood along a specific direction, which is specific to the corresponding directional intra-coding mode, into the corresponding intra-coding segment. For example, the intra-coding mode may also include one or more other modes, such as a DC coding mode, according to which the prediction of the corresponding intra-coded block assigns a DC value to all samples within the corresponding intra-coded segment, and / or a plane intra-coding mode, according to which the prediction of the corresponding block is approximated or determined as a spatial distribution of sample values ​​described by a two-dimensional linear function at the sample positions of the corresponding intra-coded block, driving a tilt and offset of the plane defined by the two-dimensional linear function on the basis of neighboring samples. In contrast, inter-coded blocks may be predicted, for example, in time. For inter-coded blocks, motion vectors may be signaled within the data stream, the motion vectors indicating the spatial displacement of a previously coded image portion of the video to which the image 12 belongs, at which the previously coded / decoded image was sampled to obtain the prediction signal for the corresponding inter-coded block. This means that, in addition to the residual signal encoding included in the data stream 14, such as entropy coded transform coefficient levels representing the quantized spectral domain prediction residual signal 24", the data stream 14 may have encoded therein coding mode parameters for assigning coding modes to various blocks, prediction parameters for some blocks, such as motion parameters for inter-coded segments, and optionally further parameters, such as for controlling and signaling the subdivision of the pictures 12 and 12' into segments, respectively. The decoder 20 uses these parameters to subdivide the pictures in the same way as the encoder, assign the same prediction modes to the segments, and perform the same prediction to produce the same prediction signal.

[0094] Fig.11 The relationship between the reconstruction signal, i.e. the reconstructed image 12', and the combination of the prediction residual signal 24"" signaled in the data stream 14 on the one hand and the prediction signal 26 on the other hand is illustrated. As mentioned above, the combination can be additive. The prediction signal 26 is Fig.111 is shown as subdividing the image region into intra-coding blocks illustratively indicated using hatching and inter-coding blocks illustratively indicated without hatching. The subdivision may be any subdivision, such as a regular subdivision of the image region into rows and columns of square blocks or non-square blocks, or a multi-tree subdivision of the image 12 from a tree root block into a plurality of leaf blocks of variable size, such as a quadtree subdivision, etc., where Fig.11 A hybrid of this is shown, where the image region is first subdivided into rows and columns of a root block, and then the root block is further subdivided into one or more leaf blocks according to a recursive multiple subdivision.

[0095] Again, the data stream 14 may have encoded therein an intra-coding mode for an intra-coded block 80, which assigns one of several supported intra-coding modes to the corresponding intra-coded block 80. For an inter-coded block 82, the data stream 14 may have encoded therein one or more motion parameters. In general, the inter-coded block 82 is not limited to being temporally coded. Alternatively, the inter-coded block 82 may be any block predicted from a previously coded portion beyond the current picture 12 itself, such as a previously coded picture of the video to which the picture 12 belongs, or a picture of another view or hierarchically lower layer in the case where the encoder and decoder are scalable encoders and decoders, respectively.

[0096] Fig.11 The prediction residual signal 24"" in is also shown to subdivide the image area into blocks 84. These blocks can be called transform blocks to distinguish them from the encoding blocks 80 and 82. In fact, Fig.11 It is illustrated that the encoder 10 and the decoder 20 may use two different subdivisions of the image 12 and the image 12', respectively, into blocks, namely one subdivision into coding blocks 80 and 82, respectively, and another subdivision into transform blocks 84. The two subdivisions may be identical, namely each coding block 80 and 82 may simultaneously form a transform block 84, but Fig.11 The case is shown where, for example, the subdivision into transform blocks 84 forms an extension of the subdivision of the coding blocks 80, 82, such that any boundary between two blocks of blocks 80 and 82 overlaps a boundary between two blocks 84, or in other words, each block 80, 82 either coincides with one of the transform blocks 84 or with a group of transform blocks 84. However, the subdivision can also be determined or selected independently of one another, such that the transform block 84 can alternatively straddle a block boundary between blocks 80, 82. As far as the subdivision into transform blocks 84 is concerned, similar statements are therefore the same as those regarding the subdivision into blocks 80, 82, i.e. the blocks 84 can be the result of a regular subdivision separating image regions into blocks (with or without arrangement into rows and columns), the result of a recursive multi-tree subdivision of image regions, or a combination thereof or any other type of block. By the way, it should be noted that the blocks 80, 82 and 84 are not limited to square, rectangular or any other shape.

[0097] Fig.11It is further illustrated that the combination of the prediction signal 26 and the prediction residual signal 24"" directly results in the reconstructed signal 12'. However, it should be noted that according to alternative embodiments more than one prediction signal 26 may be combined with the prediction residual signal 24"" to form the image 12'.

[0098] exist Fig.11 In the embodiment described below, the transform block 84 should have the following meaning. The transformer 28 and the inverse transformer 54 perform their transforms in units of these transform blocks 84. For example, many codecs use some kind of DST or DCT for all transform blocks 84. Some codecs allow skipping transforms so that for some transform blocks 84, the prediction residual signal is directly encoded in the spatial domain. However, according to the embodiments described below, the encoder 10 and the decoder 20 are configured in a way that they support several transforms. For example, the transforms supported by the encoder 10 and the decoder 20 may include:

[0099] o DCT-II (or DCT-III), where DCT stands for Discrete Cosine Transform

[0100] o DST-IV, where DST stands for Discrete Sine Transform

[0101] o DCT-IV

[0102] o DST-VII

[0103] oIdentity Transformation (IT)

[0104] Naturally, while the transformer 28 will support all forward transformed versions of these transforms, the decoder 20 or inverse transformer 54 will support their corresponding backward or inverse versions:

[0105] oInverse DCT-II (or Inverse DCT-III)

[0106] oInverse DST-IV

[0107] oInverse DCT-IV

[0108] oInverse DST-VII

[0109] oIdentity Transformation (IT)

[0110] The subsequent description provides more details on which transforms may be supported by the encoder 10 and decoder 20. In any case, it should be noted that the set of supported transforms may include only one transform, such as a spectral to spatial or spatial to spectral transform.

[0111] As mentioned above, Figures 9 to 11 It has been presented as an example in which the inventive concepts further described below can be implemented to form specific examples of encoders and decoders according to the present application. In this regard, Fig. 9 and Fig.10 The encoder and decoder of may represent possible implementations of the encoder and decoder described below, respectively. However, Fig. 9 and Fig.10 However, an encoder according to an embodiment of the present application may use the concepts outlined in more detail below to perform block-based encoding of the image 12 and differ from Fig. 9 encoder, such as, for example, the same is not a video encoder, but a still picture encoder, because it does not support inter-prediction, or in a different Fig.11 The subdivision into blocks 80 is performed in the manner exemplified in FIG. 1. Similarly, a decoder according to an embodiment of the present application may perform block-based decoding of an image 12' from a data stream 14 using the coding concepts outlined further below, but may be similar to, for example, Fig.10 The decoder 20 of FIG. 1 is different in that it is not a video decoder, but a still picture decoder, and similarly does not support intra prediction, or in a manner different from that of FIG. Fig.11 The described manner subdivides the image 12 ′ into blocks and / or also does not derive the prediction residual from the data stream 14 in the transform domain, for example, but in the spatial domain.

[0112] Next, a general video encoder according to an embodiment is Figure 1 As described in, the general video decoder according to the embodiment is Figure 2 Described in, and the general system according to the embodiment is Figure 3 Described in.

[0113] Figure 1 A generic video encoder 101 according to an embodiment is shown.

[0114] The video encoder 101 is configured to encode a plurality of images of a video by generating an encoded video signal, wherein each of the plurality of images includes original image data.

[0115] The video encoder 101 comprises a data encoder 110 configured to generate an encoded video signal comprising encoded image data, wherein the data encoder is configured to encode a plurality of images of a video into the encoded image data.

[0116] Furthermore, the video encoder 101 comprises an output interface 120 configured to output encoded image data of each of the plurality of images.

[0117] Figure 2 A generic video decoder 151 according to an embodiment is shown.

[0118] The video decoder 151 is configured to decode an encoded video signal including encoded image data to reconstruct a plurality of images of a video.

[0119] The video decoder 151 comprises an input interface 160 configured to receive an encoded video signal.

[0120] Furthermore, the video decoder includes a data decoder 170 configured to reconstruct a plurality of images of a video by decoding the encoded image data.

[0121] Figure 3 A general system according to an embodiment is shown.

[0122] The system includes Figure 1 The video encoder 101 and Figure 2 The video decoder 151 is provided.

[0123] The video encoder 101 is configured to generate an encoded video signal. The video decoder 151 is configured to decode the encoded video signal and reconstruct a video image.

[0124] There are video applications where it is beneficial to divide the video into rectangular tiles / regions and encode them independently. For example, in a 360-degree video stream, the client's current viewing direction is used to select the resolution of a single region (high resolution in the current viewport, low resolution outside the current viewport as an alternative to user direction changes). These tiles / regions are reassembled into a single bitstream on the client and decoded jointly, whereby each tile may have different neighboring tiles that were not available or did not exist during encoding.

[0125] Other examples could be RoI (RoI = Region of Interest) coding, where for example there is a region in the middle of the image that the viewer can select, for example using a zoom-in operation (decoding only the RoI), or Progressive Decoder Refresh (GDR), where the intra data (usually put into one frame of a video sequence) is temporally distributed over several consecutive frames, for example as columns of intra blocks that slide over the image plane and reset the temporal prediction chain locally in the same way as the intra blocks do for the entire image plane. For the latter, there are two regions in each image, one that was recently reset and one that is potentially affected by errors and error propagation.

[0126] For these use cases and possibly others, it is crucial to limit the prediction dependencies of images from different moments in time, so that (certain) regions / tiles are coded independently. However, this leads to several problems that the present invention addresses. On the one hand, traditional boundary filtering cannot be used to mitigate the subjective quality impact of dividing the image plane into separate regions. Second, the prior art does not describe how certain boundary geometries should be filtered. Third, image hash signaling from standards such as HEVC cannot be meaningfully used in the above use cases, because the value derivation contains the complete image plane.

[0127] A first aspect of the invention is claimed in claims 1 to 45 .

[0128] A second aspect of the invention is claimed in claims 46 to 74 .

[0129] A third aspect of the invention is claimed in claims 75 to 101.

[0130] Hereinafter, the first aspect of the present invention is now described in detail.

[0131] In particular, the first aspect provides drift free filtering.

[0132] A video decoder 151 according to an embodiment is provided for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video. The video decoder 151 includes an input interface 160 configured to receive an encoded video signal, and a data decoder 170 configured to reconstruct multiple images of a video by decoding the encoded image data. Each of the multiple images includes a plurality of tiles, wherein each of the multiple tiles includes a plurality of samples. For a first tile and a second tile of two adjacent tiles among a plurality of tiles of a first image of the multiple images, the data decoder 170 is configured to filter across a boundary between the first tile and the second tile to obtain a first filtered tile, wherein the first tile and the second tile have been independently encoded relative to each other. The data decoder 170 is configured to decode a current tile of a plurality of tiles of a second image of the plurality of images based on a reference block of the first filtered tile of the first image, wherein the reference block includes a first group of samples of the first filtered tile, and wherein the reference block does not include a second group of samples of the first filtered tile, wherein none of the first group of samples is affected by the filtering across the boundary between the first tile and the second tile, and wherein one or more of the second group of samples has been affected by the filtering across the boundary between the first tile and the second tile.

[0133] For example, in some embodiments, two tiles may be considered to be adjacent, or may be considered to be adjacent tiles, if they are adjacent / adjacent to each other in an image of a plurality of images, or if they are adjacent in position, if they are adjacent / adjacent to each other in a map after being mapped, for example, by one or more mappings, according to a mapping rule into a map (e.g., into a projection map, or, for example, into a cube map, or, for example, into an equirectangular map). For example, tiles may be mapped, for example, by employing packing by region. For example, tiles may be mapped, for example, to a projection map, for example, by a first mapping, and, for example, by a second mapping from a projection map to an equirectangular map.

[0134] In an embodiment, the data decoder 170 may, for example, be configured not to determine another reference block for decoding the current tile of the second image, wherein the other reference block comprises one or more of the second set of samples of the first filtered tile that have been affected by the filtering across the boundary between the first tile and the second tile.

[0135] According to an embodiment, the data decoder 170 can, for example, be configured to determine the reference block so that the reference block includes the first group of samples of the first filtered tile, and so that the reference block does not include the second group of samples of the first filtered tile, so that none of the first group of samples is affected by the filtering across the boundary between the first tile and the second tile, and so that the one or more samples in the second group of samples have been affected by the filtering across the boundary between the first tile and the second tile.

[0136] In an embodiment, the data decoder 170 may, for example, be configured to determine the reference block based on a range of influence of a filter or a filter kernel, wherein the data decoder 170 may, for example, be configured to employ the filter or the filter kernel for filtering across the boundary between the first tile and the second tile.

[0137] According to an embodiment, the data decoder 170 may be configured, for example, to determine the reference block based on filter information about the influence range of a filter or a filter kernel. The filter information includes a horizontal filter kernel influence range, which indicates how many of the multiple samples of the first image block within a horizontal row of the first image block are affected by one or more samples of the multiple samples of the second image block, and the second image block is filtered across the boundary between the first image block and the second image block, wherein the data decoder 170 may be configured, for example, to determine the reference block based on the horizontal filter kernel influence range. And / or: the filter information includes a vertical filter kernel influence range, which indicates how many of the multiple samples of the first image block within a vertical column of the first image block are affected by one or more samples of the multiple samples of the second image block, and the second image block is filtered across the boundary between the first image block and the second image block, wherein the data decoder 170 may be configured, for example, to determine the reference block based on the vertical filter kernel influence range.

[0138] According to an embodiment, the data decoder 170 may be configured, for example, to determine the reference block according to the vertical filter kernel influence range by extrapolating samples in the first group of samples. And / or the data decoder 170 may be configured, for example, to determine the reference block according to the horizontal filter kernel influence range by extrapolating samples in the first group of samples.

[0139] In an embodiment, the data decoder 170 may, for example, be configured to determine the reference block according to the vertical filter kernel influence range by using a vertical shear using the first set of samples, and / or the data decoder 170 may, for example, be configured to determine the reference block according to the horizontal filter kernel influence range by using a horizontal shear using the first set of samples.

[0140] According to an embodiment, vertical shearing may be defined, for example, according to:

[0141] yInt i =Clip3(topTileBoundaryPosition+verticalFilterKernelReachInSamples,

[0142] bottomTileBoundaryPosition–1–verticalFilterKernelReachInSamples,

[0143] yInt L +i-3)

[0144] yInt L represents one of the samples of the first tile at position L in the vertical column of the first tile before vertical clipping, yInt i represents one of the multiple samples of the first tile at position i in the vertical column of the first tile after vertical shearing, verticalFilterKernelReachInSamples represents the number of samples representing the range of influence of the vertical filter kernel, topTileBoundaryPosition represents the topmost position of the multiple samples in the vertical column of the first tile, bottomTileBoundaryPosition represents the bottommost position of the multiple samples in the vertical column of the first tile, wherein horizontal shearing can be defined, for example, according to the following:

[0145] xInt i =Clip3(leftTileBoundaryPosition+horizontalFilterKernelReachInSamples,

[0146] rightTileBoundaryPosition–1–horizontalFilterKernelReachInSamples,

[0147] xIntL +i-3)

[0148] xInt L represents one of the plurality of samples of the first tile at position L in the horizontal row of the first tile before horizontal clipping, xInt i represents one of the multiple samples of the first image block at position i in the horizontal row of the first image block after horizontal clipping, horizontalFilterKernelReachInSamples represents the number of samples representing the influence range of the horizontal filter kernel, leftTileBoundaryPosition represents the leftmost position of the multiple samples in the horizontal row of the first image block, rightTileBoundaryPosition represents the rightmost position of the multiple samples in the horizontal row of the first image block, wherein Clip3 is defined as:

[0149]

[0150] According to an embodiment, the data decoder 170 may be configured, for example, to determine the reference block according to the horizontal filter kernel influence range by adopting the horizontal shearing and according to the vertical filter kernel influence range by adopting the vertical shearing, wherein

[0151] verticalFilterKernelReachInSamples=horizontalFilterKernelReachInSamples.

[0152] In an embodiment, the data decoder 170 may be configured, for example, to determine the reference block according to the horizontal filter kernel influence range by adopting the horizontal shearing and according to the vertical filter kernel influence range by adopting the vertical shearing, wherein

[0153] verticalFilterKernelReachInSamples≠horizontalFilterKernelReachInSamples.

[0154] According to an embodiment, the data decoder 170 may, for example, be configured to filter the first tile using the filter or the filter kernel, wherein the data decoder 170 may, for example, be configured to correct the influence range of the filter or the filter kernel based on the distance between a block of the first tile to be filtered by the filter or the filter kernel and the boundary between the first tile and the second tile.

[0155] In an embodiment, if the distance has a first distance value less than or equal to a threshold distance, the data decoder 170 may, for example, be configured to set the range of influence of the filter or the filter kernel to a first size value. If the distance has a second distance value greater than the first distance value, and if the block and the neighboring blocks of the block belong to the same reference image, the data decoder 170 may, for example, be configured to set the range of influence of the filter or the filter kernel to the second size value greater than the first size value. The data decoder 170 may, for example, be configured to set the range of influence of the filter or the filter kernel to the first size value if the distance has the second distance value greater than the first distance value and if the block and the neighboring blocks of the block do not belong to the same reference image.

[0156] In addition, a video encoder 101 for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder 101 includes a data encoder 110 for generating an encoded video signal containing encoded image data, wherein the data encoder 110 is used to encode the multiple images of the video into encoded image data, and an output interface 120 for outputting the encoded image data of each of the multiple images. Each of the multiple images includes a plurality of tiles, wherein each of the multiple tiles includes a plurality of samples. For a first tile and a second tile of two adjacent tiles of a plurality of tiles of a first image in the multiple images, there is a boundary between the first tile and the second tile. The data encoder 110 is configured to encode the first tile and the second tile independently relative to each other. In addition, the data encoder 110 is configured to encode a current tile of a plurality of tiles of a second image of a plurality of images based on a reference block of the first tile of the first image, wherein a filter defines filtering across the boundary between the first tile and the second tile, wherein the reference block includes a first group of samples of the first tile, and wherein the reference block does not include a second group of samples of the first tile, wherein none of the first group of samples will be affected by the filtering using the filter, and wherein one or more of the second group of samples will be affected by the filtering using the filter.

[0157] For example, in some embodiments, two tiles may be considered to be adjacent, or may be considered to be adjacent tiles, if they are adjacent / adjacent to each other in an image of a plurality of images, or, if they are adjacent, if they should be mapped to the decoder side so that they are adjacent / adjacent to each other in the mapping after being mapped to the decoder side, for example, by one or more mappings, mapped to a map (e.g., a projection map, or, for example, a cube map, or, for example, an equirectangular map) according to a mapping rule. For example, tiles may be mapped, for example, by adopting packing by region. For example, tiles may be mapped to a projection map, for example, by a first mapping, and, for example, by a second mapping from the projection map to an equirectangular map.

[0158] In an embodiment, the data encoder 110 may, for example, be configured not to encode the current tile based on another reference block comprising one or more of the second set of samples of the first filtered tile that have been affected by the filtering across the boundary between the first tile and the second tile.

[0159] According to an embodiment, the data encoder 110 can, for example, be configured to determine the reference block so that the reference block includes the first group of samples of the first tile, and so that the reference block does not include the second group of samples of the first tile, so that any one of the first group of samples will not be affected by the filtering using the filter, and so that the one or more samples in the second group of samples will be affected by the filtering using the filter.

[0160] In an embodiment, the data encoder 110 may, for example, be configured to determine the reference block based on a range of influence of a filter or a filter kernel, wherein the data encoder 110 may, for example, be configured to employ the filter or the filter kernel for filtering across the boundary between the first tile and the second tile.

[0161] According to an embodiment, the data encoder 110 may be configured to determine the reference block based on filter information about a range of influence of a filter or a filter kernel, for example. The filter information comprises a horizontal filter kernel range of influence, which indicates how many of the plurality of samples of the first tile within a horizontal row of the first tile are affected by one or more of the plurality of samples of the second tile, by filtering across the boundary between the first tile and the second tile, wherein the data encoder 110 may be configured to determine the reference block based on the horizontal filter kernel range of influence. And / or the filter information comprises a vertical filter kernel range of influence, which indicates how many of the plurality of samples of the first tile within a vertical column of the first tile are affected by one or more of the plurality of samples of the second tile, by filtering across the boundary between the first tile and the second tile, wherein the data encoder 110 may be configured to determine the reference block based on the vertical filter kernel range of influence.

[0162] According to an embodiment, the data encoder 110 may be configured to determine the reference block according to the vertical filter kernel influence range by extrapolating samples in the first group of samples, for example. And / or, the data encoder 110 may be configured to determine the reference block according to the horizontal filter kernel influence range by extrapolating samples in the first group of samples, for example.

[0163] In an embodiment, the data encoder 110 may be configured to determine the reference block according to the vertical filter kernel influence range by using vertical shearing using the first set of samples, for example. And / or the data encoder 110 may be configured to determine the reference block according to the horizontal filter kernel influence range by using horizontal shearing using the first set of samples, for example.

[0164] According to an embodiment, vertical shearing may be defined, for example, according to:

[0165] yInt i =Clip3(topTileBoundaryPosition+verticalFilterKernelReachInSamples,

[0166] bottomTileBoundaryPosition–1–verticalFilterKernelReachInSamples,

[0167] yInt L +i-3)

[0168] yInt LOne of the samples of the first tile at position L in the vertical column of the first tile before vertical shearing, yInt i indicates one of the plurality of samples of the first tile at position i in the vertical column of the first tile after vertical shearing, verticalFilterKernelReachInSamples indicates the number of samples indicating the vertical filter kernel influence range, topTileBoundaryPosition indicates the topmost position of the plurality of samples within the vertical column of the first tile, bottomTileBoundaryPosition indicates the bottommost position of the plurality of samples within the vertical column of the first tile, wherein horizontal shearing may be defined, for example, according to the following:

[0169] xInt i =Clip3(leftTileBoundaryPosition+horizontalFilterKernelReachInSamples,

[0170] rightTileBoundaryPosition–1–horizontalFilterKernelReachInSamples,

[0171] xInt L +i-3)

[0172] xInt L represents one of the plurality of samples of the first tile at position L in the horizontal row of the first tile before horizontal clipping, xInt i represents one of the multiple samples of the first image block located at position i in the horizontal direction of the first image block after horizontal clipping, horizontalFilterKernelReachInSamples represents the number of samples representing the influence range of the horizontal filter kernel, leftTileBoundaryPosition represents the leftmost position of the multiple samples in the horizontal row of the first image block, rightTileBoundaryPosition represents the rightmost position of the multiple samples in the horizontal row of the first image block, wherein Clip3 is defined as:

[0173]

[0174] In an embodiment, the data encoder 110 may be configured to determine the reference block according to the horizontal filter kernel influence range by adopting the horizontal shearing and according to the vertical filter kernel influence range by adopting the vertical shearing, for example, wherein

[0175] verticalFilterKernelReachInSamples=horizontalFilterKernelReachInSamples.

[0176] According to an embodiment, the data encoder 110 may be configured, for example, to determine the reference block according to the horizontal filter kernel influence range by adopting the horizontal shearing and according to the vertical filter kernel influence range by adopting the vertical shearing, wherein

[0177] verticalFilterKernelReachInSamples≠horizontalFilterKernelReachInSamples.

[0178] In an embodiment, the data encoder 110 may be configured, for example, to filter the first tile using the filter or the filter kernel. The data encoder 110 may be configured, for example, to modify the influence range of the filter or the filter kernel according to the distance between a block of the first tile to be filtered by the filter or the filter kernel and the boundary between the first tile and the second tile.

[0179] According to an embodiment, if the distance has a first distance value less than or equal to a threshold distance, the data encoder 110 may, for example, be configured to set the influence range of the filter or the filter kernel to a first size value. If the distance has a second distance value greater than the first distance value and if the block and the neighboring blocks of the block belong to the same reference image, the data encoder 110 may, for example, be configured to set the influence range of the filter or the filter kernel to a second size value greater than the first size value. In addition, if the distance has the second distance value greater than the first distance value and if the block and the neighboring blocks of the block do not belong to the same reference image, the data encoder 110 may, for example, be configured to set the influence range of the filter or the filter kernel to the first size value.

[0180] In addition, a system including the video encoder 101 and the video decoder 151 is provided. The video encoder 101 is configured to generate an encoded video signal. The video decoder 151 is configured to decode the encoded video signal and reconstruct a video image.

[0181] In addition, a video decoder 151 for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video according to an embodiment is provided. The video decoder 151 includes an input interface 160 configured to receive an encoded video signal, and a data decoder 170 configured to reconstruct multiple images of a video by decoding the encoded image data. Each of the multiple images includes multiple tiles, wherein each of the multiple tiles includes multiple blocks, wherein each of the multiple blocks includes multiple samples. For a first tile and a second tile of two adjacent tiles in a plurality of tiles of an image of the multiple images, there is a boundary between the first tile and the second tile. The first tile and the second tile have been independently encoded relative to each other. The data decoder 170 is configured to filter the first tile using a filter or a filter kernel, wherein the data decoder 170 is configured to correct the influence range of the filter or the filter kernel according to the distance between a block of the first tile to be filtered by the filter or the filter kernel and the boundary between the first tile and the second tile, the block being one of the multiple blocks of the first tile.

[0182] According to an embodiment, if the distance has a first distance value less than or equal to a threshold distance, the data decoder 170 may, for example, be configured to set the influence range of the filter or the filter kernel to a first size value. In addition, if the distance has a second distance value greater than the first size value and the block and if the neighboring blocks of the block belong to the same reference image, the data decoder 170 may, for example, be configured to set the influence range of the filter or the filter kernel to a second size value greater than the first size value. In addition, if the distance has the second distance value greater than the first distance value and if the block and the neighboring blocks of the block do not belong to the same reference image, the data decoder 170 may, for example, be configured to set the influence range of the filter or the filter kernel to the first size value.

[0183] According to an embodiment, the data decoder 170 may, for example, include a deblocking filter. For the block to be filtered of the first tile, the data decoder 170 may, for example, be configured to filter the first tile using a deblocking filter if, relative to the block to be filtered of the first tile, a second block within a second tile independently encoded relative to the first tile is within a filter influence range of the deblocking filter, and / or wherein, for the block to be filtered of the first tile, the data decoder (170) may, for example, be configured to set a deblocking filter strength of the deblocking filter according to, from among the block to be filtered of the first tile, if, relative to the block to be filtered of the first tile, the second block within the second tile independently encoded from the first tile is within a filter influence range of the deblocking filter.

[0184] In an embodiment, the data decoder 170 may, for example, include a sample adaptive offset filter, wherein the sample adaptive offset filter may, for example, include an edge offset mode and a band offset mode. For the block to be filtered of the first tile, the data decoder 170 may, for example, be configured to activate the band offset mode and use the adaptive offset filter to filter the first tile if the block to be filtered from the first tile, i.e., a third block within the second tile independently encoded relative to the first tile, is within the filter influence range of the sample adaptive offset filter in the edge offset mode.

[0185] According to an embodiment, the data decoder 170 may, for example, include an adaptive loop filter. For the block to be filtered of the first tile, the data decoder 170 may, for example, be configured to deactivate the adaptive loop filter if, from among the blocks to be filtered of the first tile, a fourth block within the second tile independently encoded relative to the first tile is within the filter influence range of the adaptive loop filter.

[0186] In addition, a video encoder 101 for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder 101 includes a data encoder 110 configured to generate an encoded video signal including encoded image data, wherein the data encoder 110 is configured to encode the multiple images of the video into encoded image data, and an output interface 120 for outputting the encoded image data of each of the multiple images. Each of the multiple images includes a plurality of tiles, wherein each of the multiple tiles includes a plurality of blocks, wherein each of the multiple blocks includes a plurality of samples. For a first tile and a second tile of two adjacent tiles of a plurality of tiles of a first image in the multiple images, there is a boundary between the first tile and the second tile. The data encoder 110 is configured to encode the first tile and the second tile independently relative to each other. In addition, the data encoder 110 is configured to filter the first image block using a filter or a filter kernel, wherein the data encoder 110 is configured to correct the influence range of the filter or the filter kernel according to the distance between the block to be filtered by the filter or the filter kernel and the boundary between the first image block and the second image block, and the block is one of the multiple blocks of the first image block.

[0187] In an embodiment, if the distance has a first distance value less than or equal to a threshold distance, the data encoder 110 may, for example, be configured to set the range of influence of the filter or the filter kernel to a first size value. The data encoder 110 may, for example, be configured to set the range of influence of the filter or the filter kernel to a second size value greater than the first size value if the distance has a second distance value greater than the first distance value and if the block and the neighboring blocks of the block belong to the same reference image. In addition, if the distance has the second distance value greater than the first distance value and if the block and the neighboring blocks of the block do not belong to the same reference image, the data encoder 110 may, for example, be configured to set the range of influence of the filter or the filter kernel to the first size value.

[0188] According to an embodiment, the data encoder 110 may, for example, include a deblocking filter. For the block to be filtered of the first tile, the data encoder 110 may, for example, be configured to filter the first tile using a deblocking filter, if a second block within a second tile independently encoded relative to the first tile is within a filter influence range of the deblocking filter, and / or wherein, for the block to be filtered of the first tile, the data decoder (170) may, for example, be configured to set a deblocking filter strength of the deblocking filter according to the block to be filtered of the first tile, if the second block within the second tile independently encoded from the first tile is within the filter influence range of the deblocking filter.

[0189] In an embodiment, the data encoder 110 may, for example, include a sample adaptive offset filter, wherein the sample adaptive offset filter may, for example, include an edge offset mode and a band offset mode. For the block to be filtered of the first tile, the data encoder 110 may, for example, be configured to activate the band offset mode and use the adaptive offset filter to filter the first tile if the filter influence range of the sample adaptive offset filter in the edge offset mode is within the filter influence range of the sample adaptive offset filter in the edge offset mode relative to the block to be filtered of the first tile, that is, the third block within the second tile independently encoded relative to the first tile.

[0190] According to an embodiment, the data encoder 110 may, for example, include an adaptive loop filter. For the block to be filtered of the first tile, the data encoder 110 may, for example, be configured to deactivate the adaptive loop filter if, relative to the block to be filtered of the first tile, a fourth block within the second tile independently encoded relative to the first tile is within a filter influence range of the adaptive loop filter.

[0191] In addition, a system including the video encoder 101 and the video decoder 151 according to an embodiment is provided. The video encoder 101 is used to generate an encoded video signal. The video decoder 151 is used to decode the encoded video signal to reconstruct a video image.

[0192] Subjective artifacts are visible when regions of an image are independently coded, such as with tiles in HEVC. Such unwanted artifacts can be mitigated by allowing loop filtering across tile boundaries. This is not a problem when the encoder and decoder can perform the same process, but when tiles need to be independently decodable and interchangeable, such as in the use case described above, this approach is only possible if the content is encoded using MCTS and the MV is constrained not to point to any samples affected by the filtering process. Otherwise, if a region / tile boundary approach is used instead, such features are prohibited, because simply allowing loop filters across tile boundaries will lead to the reconstruction of incorrect sample values ​​due to "wrong" reference samples outside the tile (given by the loop filter kernel influence range). In turn, using such contaminated samples, motion compensated prediction will lead to further error propagation in the coded images that follow in time. In particular, when contaminated samples are used for boundary filling procedures envisioned in VVC independent tiles, the affected area will expand rapidly (VVC=Versatile Video Coding).

[0193] In 360-degree video streams, for example using the MPEG OMAF standard (MPEG = Moving Picture Experts Group; OMAF = Omnidirectional Media Forma, Omnidirectional Media Format), a particular approach to mitigate the above problem is to over-provision each individual region in the coded image with some spare image samples, which can be omitted or mixed with spare image samples of spatially adjacent regions. However, this approach has a negative impact on the sample budget available to a given level of decoder and is therefore undesirable, since the decoded samples are either discarded or mixed together after decoding.

[0194] Embodiments are intended to enable the loop filter to cross independent region boundaries, but prevent motion compensated prediction from using sample values ​​that are affected by potentially affected samples. One solution, similar to the encoder-side constraints used in HEVC, is to restrict motion compensation to respect independent tile boundaries plus inward-pointing filter kernels so that no reference contains contaminated samples, i.e., Figure 4a The dotted line in .

[0195] Figure 4a Contaminated samples within a tile from a loop filter process are shown.

[0196] However, in VVC, another approach is adopted to enable motion compensated prediction within independently coded tiles, characterized by tile boundary extension. Here, the sample values ​​at the tile boundary are extrapolated perpendicular to the tile boundary and the motion estimation is allowed to reach this boundary extension. Now, when these tile boundary sample values ​​are contaminated by the loop filter procedure, the error propagates into the boundary extension and hence into the following image, such as Figure 4b shown.

[0197] Figure 4b VVC tile boundary extensions from separate regions of contaminated samples are shown.

[0198] Therefore, embodiments contemplate that, instead of using the tile boundary sample that is the last sample within the tile to derive the boundary fill, the closest sample within the tile that is not affected by the loop filter process is used for vertical tile boundary extension, also covering the sample values ​​of the contaminated samples within the tile, as follows Figure 5 shown.

[0199] Figure 5 A tile boundary extension process subject to the influence range of the loop filter kernel is shown according to an embodiment.

[0200] According to an embodiment, the prior art clipping for generating boundary filling samples in the reference block is adapted. The example given is that the equations for the horizontal and vertical components of the reference block sample positions for horizontal and vertical image boundaries in the current VVC draft 5 specification v3 (while omitting motion vector wrapping) are as follows:

[0201] yInt i =Clip3(0,picH-1,yInt L +i-3)

[0202] xInt i =Clip3(0,picW-1,xInt L +i-3)

[0203] Further constants which will be varied according to embodiments to include the range of influence of the filter kernel are represented as follows:

[0204] yInt i =Clip3(topTileBoundaryPosition+verticalFilterKernelReachInSamples,

[0205] bottomTileBoundaryPosition–1–verticalFilterKernelReachInSamples,yInt L +i-3)

[0206] xInt i =Clip3(leftTileBoundaryPosition+horizontalFilterKernelReachInSamples,

[0207] rightTileBoundaryPosition–1–horizontalFilterKernelReachInSamples,xInt L +i-3)

[0208] Clip3 is defined in [1] as:

[0209]

[0210] In an embodiment, verticalFilterKernelReachInSamples may be equal to horizontalFilterKernelReachInSamples, for example.

[0211] In another embodiment, verticalFilterKernelReachInSamples may be different from horizontalFilterKernelReachInSamples, for example.

[0212] It is important to note that tile boundary extensions are not part of the output image, which still contains contaminated samples.

[0213] As an alternative or supplement to the above concept, another embodiment is adopted. According to such an embodiment, the filterKernelReachInSamples (e.g., horizontalFilterKernelReachInSamples or verticalFilterKernelReachInSamples) of the filtering process is corrected. Currently in VVC with respect to HEVC, all in-loop filters are either enabled across tiles or disabled. Still in order to make the described area boundary extension more effective, it is necessary to limit the number of samples affected by the filtering process. For example, the deblocking filter has 2 strengths, usually depending on checks such as whether the same reference image is used for 2 adjacent blocks. According to an embodiment, blocks at the area boundary can, for example, always be derived as blocks, for which the filter strength affects a smaller number of samples in the process or the filter derivation process is independent / less dependent on the decoding background. Similarly, the range of influence of each other filter (SAO and ALF) can be corrected at the area boundary (SAO=sampleadaptive offset, sample adaptive offset; ALF=adaptive loop filtering, adaptive loop filtering). Or the filters can be disabled individually, instead of being disabled all at once as is currently the case, for example, only ALF is disabled.

[0214] According to an embodiment, the deblocking filter strength may be derived, for example, as follows: if at least one of the two blocks at the block boundary belongs to a tile to be independently encoded of the tile to which the other block belongs, the strength may be set to 1, for example.

[0215] In an embodiment, for SAO, if two blocks located in different tiles that are coded independently of each other are located on an independent tile boundary, the band offset mode may be always used instead of the edge offset mode, for example.

[0216] According to an embodiment, the combination of ALF, SAO, deblocking may be disabled, for example, at individual tile boundaries.

[0217] Hereinafter, the second aspect of the embodiment is now described in detail.

[0218] In particular, the second aspect provides motion compensated prediction on concave block group boundaries (inward-pointing boundaries of concave block groups).

[0219] A video encoder 101 for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder 101 includes a data encoder 110 configured to generate an encoded video signal including encoded image data, wherein the data encoder 110 is configured to encode the multiple images of the video into encoded image data, and an output interface 120 for outputting the encoded image data of each of the multiple images. Each of the multiple images includes a plurality of tiles, wherein each of the plurality of tiles includes a plurality of samples. The data encoder 110 is configured to determine an independently encoded tile group, the group including three or more tiles of a plurality of tiles of a reference image of the multiple images. In addition, the data encoder 110 is configured to encode the multiple images according to a reference block located within the reference image. In addition, the data encoder 110 is configured to select a position for the reference block within the reference image so that the reference block is not partially located within three tiles of the three or more tiles of the independently encoded tile group and partially located within another tile of the multiple tiles of the reference image that does not belong to the independently encoded tile group.

[0220] In an embodiment, the three or more tiles may, for example, be arranged in the reference image such that they have an inwardly directed border of a concave tile group with respect to a plurality of tiles of the reference image that do not belong to the independently coded tile group.

[0221] According to an embodiment, the data encoder 110 can, for example, be configured to select a position for the reference block within the reference image so that the reference block is not partially located within a first tile of three or more tiles of the independently encoded tile group and partially located within a second tile of multiple tiles of the reference image that do not belong to the independently encoded tile group.

[0222] In addition, a system according to an embodiment is provided, comprising the above-mentioned video encoder 101 and video decoder 151, for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video. The video decoder 151 comprises an input interface 160, configured to receive an encoded video signal, and a data decoder 170, configured to reconstruct multiple images of a video by decoding the encoded image data. The video encoder 101 is used to generate an encoded video signal. The video decoder 151 is used to decode the encoded video signal and reconstruct a video image.

[0223] In addition, a video encoder 101 for encoding a plurality of images of a video by generating an encoded video signal according to an embodiment is provided. Each of the plurality of images includes original image data. The video encoder 101 includes a data encoder 110 configured to generate an encoded video signal including encoded image data, wherein the data encoder 110 is configured to encode the plurality of images of the video into encoded image data, and an output interface 120 for outputting the encoded image data of each of the plurality of images. Each of the plurality of images includes a plurality of tiles, wherein each of the plurality of tiles includes a plurality of samples. The data encoder 110 is configured to determine an independently encoded tile group, the group including three or more tiles of a plurality of tiles of a reference image of the plurality of images. In addition, the data encoder 110 is configured to encode the plurality of images according to a reference block located in a reference image, wherein the reference block is partially located in three tiles of the three or more tiles of the independently encoded tile group and is partially located in another tile of the plurality of tiles of the reference image that does not belong to the independently encoded tile group. In addition, the data encoder 110 is configured to determine multiple reference samples of a portion of the reference block located within the other tile that does not belong to the independently encoded tile group based on one or more of the multiple samples of the first of the three tiles of the independently encoded tile group and based on one or more of the multiple samples of the second of the three tiles that do not belong to the independently encoded tile group.

[0224] In an embodiment, the three or more tiles may, for example, be arranged in the reference image such that they have an inwardly directed border of a concave tile group with respect to a plurality of tiles of the reference image that do not belong to the independently coded tile group.

[0225] According to an embodiment, the data encoder 110 can be configured, for example, to determine a plurality of reference samples of a portion of the reference block located within the other tile that does not belong to the independently encoded tile group based on the separation of the portion of the reference block into a first sub-portion and a second sub-portion, so that those reference samples among the plurality of reference samples located in the first sub-portion are determined using the one or more samples of the first tile among the three tiles but not using the one or more samples of the second tile among the three tiles, and so that those reference samples among the plurality of reference samples located in the second sub-portion are determined using the one or more samples of the second tile among the three tiles but not using the one or more samples of the first tile among the three tiles.

[0226] In an embodiment, the separation of the portion of the reference block that divides the portion of the reference block located in the other tile that does not belong to the independently encoded tile group into a first sub-portion and a second sub-portion may be, for example, a diagonal separation of the reference block.

[0227] According to an embodiment, the data encoder 110 can be configured, for example, to determine the multiple reference samples of a part of the reference block located within the other tile that does not belong to the independently encoded tile group by applying planar intra prediction using one or more samples of the first tile among the three tiles of the independently encoded tile group and using the one or more samples of the second tile among the three tiles or tree tiles.

[0228] In addition, a video decoder 151 for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video according to an embodiment is provided. The video decoder 151 includes an input interface 160 configured to receive an encoded video signal, and a data decoder 170 configured to reconstruct multiple images of a video by decoding the encoded image data. Each of the multiple images includes a plurality of tiles, wherein each of the multiple tiles includes a plurality of samples. The encoded video signal includes an independently encoded tile group, which includes three or more tiles of a plurality of tiles of a reference image of the multiple images. The data decoder 170 is configured to decode the multiple images according to a reference block located within the reference image, wherein the reference block is partially located within three tiles of the three or more tiles of the independently encoded tile group, and partially located within another tile of the plurality of tiles of the reference image that does not belong to the independently encoded tile group. In addition, the data decoder 170 is configured to determine multiple reference samples of a portion of the reference block located within the other tile that does not belong to the independently encoded tile group based on one or more of the multiple samples of the first tile of the three tiles of the independently encoded tile group and based on one or more of the multiple samples of the second tile of the three tiles of the independently encoded tile group.

[0229] In an embodiment, the three or more tiles are arranged in the reference image such that they have an inwardly directed boundary of a concave tile group relative to a plurality of tiles of the reference image that do not belong to the independently coded tile group.

[0230] According to an embodiment, the data decoder 170 can be configured, for example, to determine a plurality of reference samples of a portion of the reference block located within the other tile that does not belong to the independently encoded tile group based on the separation of the portion of the reference block into a first sub-portion and a second sub-portion, so that those reference samples among the plurality of reference samples located in the first sub-portion are determined using the one or more samples of the first tile among the three tiles but not using the one or more samples of the second tile among the three tiles, and so that those reference samples among the plurality of reference samples located in the second sub-portion are determined using the one or more samples of the second tile among the three tiles but not using the one or more samples of the first tile among the three tiles.

[0231] In an embodiment, the separation of the portion of the reference block located in the further tile not belonging to the independently coded group of tiles into a first sub-portion and a second sub-portion is a diagonal separation of the reference block.

[0232] According to an embodiment, the data decoder 170 can be configured, for example, to determine the multiple reference samples that are part of the reference block located within the other tile that does not belong to the independently encoded tile group by applying in-plane prediction using one or more samples of the first tile among the three tiles of the independently encoded tile group and using the one or more samples of the second tile among the three tiles or the tree tile.

[0233] A system includes the video encoder 101 and the video decoder 151. The video encoder 101 is configured to generate an encoded video signal. The video decoder 151 is configured to decode the encoded video signal and reconstruct a video image.

[0234] When tile groups are formed in raster scan order, such as specified in the VVC draft 5 specification v3, the boundary extension procedure can be performed on independently coded tile groups and needs to accommodate the following Figure 6 The tile configuration in .

[0235] Figure 6 The tile and tile group partitioning of a coded picture is shown.

[0236] As can be seen from the image, by clipping the sample positions, e.g. as defined in the VVC draft 5 specification v3, when processing tile group 0, it is not enough to cover the tile boundaries, such as marked with a red cross.

[0237] In the following, we first provide a closer look at what happens when the motion compensated prediction of a given reference block involves the top and left borders of tile 0 of tile group 0, i.e., at the convex top left border of tile 0 in tile group 0. According to the prior art, three regions outside tile 0 can be distinguished, as follows Figure 7 shown.

[0238] Figure 7 A reference block with prior art border padding is shown.

[0239] The portion of the reference block that lies within the region labeled to be top is filled with the vertical extrapolation of the corresponding top sample row of tile 0, while the portion of the reference block that lies within the region labeled to be left is filled with the horizontal extrapolation of the corresponding left sample column of tile 0. As for the portion of the reference block that lies within the region labeled to be top-left, it is filled with a single sample value, sampled at position 0,0 of tile 0, i.e., the top-left sample of tile 0.

[0240] Another example is Figure 8 As shown in Figure 1, where the border extension is applied to an L-shaped region. In this case, for the lower right corner of tile 0, that is, Figure 8 The concave boundary of tile group 0 shown here also requires extrapolation for motion compensated prediction. However, for convex tile group boundaries, similar to the prior art for image boundaries, sample value extrapolation cannot be done simply because vertical extrapolation of tile boundaries in concave tile group boundaries produces two possible values ​​per sample position in the boundary extension.

[0241] Therefore, embodiments involve limiting the motion compensated prediction in the bitstream at the encoder side and not allowing reference blocks containing samples from both tile 1 and tile 2 at the same time, such as Figure 8 The first reference block is shown.

[0242] Figure 8 A diagonally partitioned concave tile group boundary is shown in accordance with an embodiment.

[0243] Entry is allowed only if either the sample of tile 1 or the sample of tile 2 lies exclusively within the reference tile Figure 8 The tile group 0 border extension area shown in Figure 8 In this case, a regular vertical border fill is applied with respect to the border of the adjacent tile in question, i.e. tile 1 in the example.

[0244] As an alternative to the above bitstream constraint, a solution is to divide the border fill area diagonally, e.g. Figure 8As shown by the dashed lines in , the two parts of the border filling area are filled respectively by vertical extrapolation of the sample values ​​of the respective adjacent tile boundaries to the diagonal boundary. In this alternative, a reference block containing samples from tile 1 and tile 2 is also allowed, i.e., an exemplary first reference block. In a further alternative to the diagonal partitioning of the border filling area, the entire area is filled from the sample values ​​of tile 1 and tile 2 according to the intra-plane prediction mode.

[0245] In a further alternative embodiment, if such an independent region exists, it is necessary to restrict the motion compensated prediction from the region to not point outside the region unless it crosses only one boundary, ie no first reference block and no second reference block allowed.

[0246] Hereinafter, the third aspect of the present invention is now described in detail.

[0247] In particular, the third aspect provides a decoded image hash for GDR.

[0248] A video encoder 101 for encoding multiple images of a video by generating an encoded video signal according to an embodiment is provided. Each of the multiple images includes original image data. The video encoder 101 includes a data encoder 110 configured to generate an encoded video signal containing encoded image data, wherein the data encoder 110 is configured to encode multiple images of the video into encoded image data, and an output interface 120 for outputting the encoded image data of each of the multiple images. The data encoder 110 is configured to encode hash information within the encoded video signal. In addition, the data encoder 110 is configured to generate a hash information image based on a current portion of a current image of the multiple images, but not depending on a subsequent portion of the current image, wherein the current portion has a first position in the current image, and the subsequent portion has a second position different from the first position within the image.

[0249] According to an embodiment, the current image includes a plurality of parts, the current part is one of the plurality of parts, and the subsequent part is another of the plurality of parts, wherein each of the plurality of parts has a different position within the image. The data encoder 110 may, for example, be configured to encode the plurality of parts within the encoded video signal in a coding order, wherein the subsequent part immediately follows the current part in the coding order, or wherein the subsequent part is interleaved with the current part and partially continues the current part in the coding order.

[0250] In an embodiment, the data encoder 110 may, for example, be configured to encode said hash information depending on said current portion.

[0251] According to an embodiment, the data encoder 110 may, for example, be configured to generate the hash information such that the hash information depends on the current portion and does not depend on any other portion of the plurality of portions of the current image.

[0252] In an embodiment, the data encoder 110 may, for example, be configured to generate the hash information such that the hash information depends on the current portion and such that the hash information depends on one or more other portions of the multiple portions that precede the current portion in the coding order, but such that the hash information is not dependent on any other portion of the multiple portions of the current image that follows the current portion in the coding order.

[0253] According to an embodiment, the data encoder 110 can, for example, be configured to generate the hash information such that the hash information depends on the current part and such that the hash information depends on the current part of the current image, and wherein the hash information depends on each other part of the multiple parts of the current image, the other parts preceding the current part in the coding order, or the other parts are interlaced with the current part of the current image and partially precede the current part of the current image in the coding order.

[0254] In an embodiment, the data encoder 110 may, for example, be configured to encode a current image of the plurality of images such that the encoded video signal may be decoded, for example, by employing progressive decoding refresh.

[0255] For example, in an embodiment, the hash information may depend on a refresh area of ​​the current image that is refreshed using progressive decoding refresh, but not on another area of ​​the current image that is not refreshed using progressive decoding refresh.

[0256] According to an embodiment, the data encoder 110 may, for example, be configured to generate hash information such that the hash information indicates one or more hash values ​​according to the current portion of the current image but not according to the subsequent portion of the current image.

[0257] In an embodiment, the data encoder 110 may, for example, be configured to generate each of the one or more hash values ​​according to a plurality of luma samples of the current portion and / or depending on a plurality of chroma samples of the current portion.

[0258] According to an embodiment, the data encoder 110 can, for example, be configured to generate each of the one or more hash values ​​as a message digest algorithm 5 value, or as a cyclic redundancy check value, or as a checksum, which depends on the multiple luma samples of the current portion and / or on the multiple chroma samples of the current portion.

[0259] A video decoder 151 is provided for decoding an encoded video signal including encoded image data to reconstruct multiple images of a video according to an embodiment. The video decoder 151 includes an input interface 160 configured to receive the encoded video signal, and a data decoder 170 configured to reconstruct multiple images of the video by decoding the encoded image data. The data decoder 170 is configured to analyze hash information encoded within the encoded video signal, wherein the hash information depends on a current portion of a current image in a plurality of images, but does not depend on a subsequent portion of the current image, wherein the current portion has a first position within the current image, and the subsequent portion has a second position within the image that is different from the first position.

[0260] According to an embodiment, a current image comprises a plurality of parts, the current part being one of the plurality of parts and a subsequent part being another of the plurality of parts, wherein each of the plurality of parts has a different position within the image. The plurality of parts are encoded within an encoded video signal in a coding order, wherein the subsequent part immediately follows the current part in the coding order, or wherein the subsequent part is interleaved with the current part and partially follows the current part in the coding order.

[0261] In an embodiment, said hash information depending on said current portion may for example be encoded.

[0262] According to an embodiment, the hash information depends on the current portion but does not depend on any other portion of the plurality of portions of the current image.

[0263] In an embodiment, the hash information depends on the current portion and makes the hash information dependent on one or more other portions of the multiple portions that precede the current portion in the coding order, but makes the hash information not dependent on any other portion of the multiple portions of the current image that follows the current portion in the coding order.

[0264] According to an embodiment, the hash information depends on the current part, and wherein the hash information depends on the current part of the current image, and wherein the hash information depends on each other part of the multiple parts of the current image, the other parts are located before the current part in the coding order, or the other parts are interlaced with the current part of the current image and partially precede the current part of the current image in the coding order.

[0265] In an embodiment, the data decoder 170 may, for example, be configured to decode the encoded video signal using progressive decoding refresh to reconstruct the current image.

[0266] For example, in an embodiment, the hash information may for example depend on a refresh area of ​​the current image that is refreshed using progressive decoding refresh, but not depend on another area of ​​the current image that is not refreshed by progressive decoding refresh.

[0267] According to an embodiment, the hash information indicates one or more values ​​having a value that depends on the current portion of the current image but does not depend on the subsequent portion of the current image.

[0268] In an embodiment, each of the one or more hash values ​​depends on a plurality of luma samples of the current portion and / or on a plurality of chroma samples of the current portion.

[0269] According to an embodiment, each of the one or more hash values ​​is a Message Digest Algorithm 5 value, or a Cyclic Redundancy Check value, or a checksum, which depends on a plurality of luma samples of the current portion and / or on a plurality of chroma samples of the current portion.

[0270] In addition, a system including the video encoder 101 and the video decoder 151 according to the embodiment is provided. The video encoder 101 is configured to generate an encoded video signal. The video decoder 151 is configured to decode the encoded video signal and reconstruct a video image.

[0271] An important tool for implementers is the control points carried in the coded video bitstream to verify the correct operation of the decoder and the integrity of the bitstream. For example, there are means to carry hashes such as MD5, CRC or simple checksums of the decoded sample values ​​of the picture in SEI messages (SEI = supplemental enhancement information; MD5 = message-digest algorithm 5; CRC = cyclic redundancy check), which are associated with each picture. It is thus possible to verify on the decoder side that the decoded output matches the encoder expected output without having access to the original material or the encoder. Mismatches can identify both problems in the decoder implementation (during development) and corruption of the bitstream (in service) in case the decoder implementation has already been verified. This can be used for error detection in systems such as in session scenarios using an RTP-based communication channel, where the client has to actively request the prediction chain to reset IDR pictures to resolve decoding errors caused by bitstream corruption.

[0272] However, in GDR scenarios, the prior art SEI message mechanism is not sufficient to allow meaningful detection of decoder or bitstream integrity. This is because in GDR scenarios, a picture can also be considered correctly decoded when only a part of it is correctly reconstructed, i.e., a region whose temporal prediction chain has been recently refreshed by scanning inner columns or rows. Take the example of random access of a stream using a GDR-based coding scheme. From the point at which the stream is decoded, many (partially) erroneous pictures will be decoded until the first completely correct picture is decoded and can be displayed. Now, while the client will be able to identify the first completely correct decoded picture from the matching prior art decoded picture hash SEI message, the client will not be able to check the decoder or bitstream integrity in the decoded pictures until the first complete correctly decoded picture. Therefore, it may be a problem that the bitstream is corrupted or the decoder implementation is wrong, resulting in the client never being able to obtain a completely correct decoded picture. Therefore, the point in time at which the client can take aversive measures (e.g., requesting the sending side to provide different types of random access to ensure bitstream integrity) will be significantly later than the present invention, which allows per-picture detection of these situations. One example of such a disadvantageous prior art detection mechanism is to wait for a predefined time threshold, e.g. a number of GDR cycles (derivable from the bitstream signaling) before identifying the bitstream as corrupted etc. Therefore, in a GDR scenario, it is crucial to differentiate encoder / decoder mismatches based on regions.

[0273] An embodiment provides bitstream signaling of a decoded image hash of a GDR refresh region so that the client benefits therefrom as described above. In one embodiment, regions are defined in a SEI message by luma sample positions in a coded image, and a corresponding hash is provided for each region.

[0274] In another embodiment, a single hash for the GDR refresh region is provided in the bitstream, for example via an SEI message. The region associated with the hash in a particular access unit (i.e., image) varies over time and corresponds to all blocks whose prediction chains have been reset from a scanned intra column or row in a GDR cycle. That is, for the first image of a GDR period, for example, there is a column of intra blocks on the left side of the image, and the region contains only the intra blocks of that particular column, while for each consecutive image, the region contains the intra block column and all blocks to the left, assuming that the intra refresh column is scanned from left to right until the final image of the GDR cycle no longer contains unrefreshed blocks, and the hash is derived using all blocks of the encoded image. An exemplary syntax and semantics of such a message are given below.

[0275] Decoded GDR refresh region hash SEI message syntax

[0276] decoded_gdr_refreshed_region_hash(payloadSize){ Descriptors hash_type u(8) for(cIdx=0;cIdx<(chroma_format_idc==0?1:3);cIdx++) if (hash_type == 0) for(i=0;i<16;i++) picture_md5[cIdx][i] b(8) elseif(hash_type == 1) picture_crc[cIdx] u(16) elseif(hash_type == 2) picture_checksum[cIdx] u(32) }

[0277] This message provides hash values ​​for the refreshed region for each color component of the currently decoded image.

[0278] NOTE 1 – The Decoded GDR Refresh Region Hash SEI message is a suffix SEI message and cannot be included in a scalable nested SEI message.

[0279] Before computing the hash, the GDR refresh area of ​​the decoded image data is arranged into one or three byte strings called pictureData[cIdx] of length dataLen[cIdx] by copying the corresponding sample values ​​of each decoded image component into a byte string of pictureData in sequence.

[0280] The syntax elements hash_type, picture_md5[cIdx][i], picture_crc[cIdx], picture_checksum[cIdx] are essentially equivalent to the content defined in HEVC for the decoded picture hash SEI message, i.e. the hash is derived from the data in the pictureData array.

[0281] When the above concept is combined with the first aspect of the present invention, namely the boundary extension mechanism that respects the loop filter kernel influence range, the area used for hash calculation also omits samples that may be contaminated by the loop filter kernel influence range.

[0282] In an embodiment, the hash information may be sent at the beginning or end of the image.

[0283] Although certain aspects have been described in the context of an apparatus, it is clear that these aspects also represent descriptions of corresponding methods, where blocks or devices correspond to method steps or features of method steps. Similarly, aspects described in the context of method steps also represent descriptions of corresponding blocks or items or features of corresponding apparatus. Some or all of the method steps may be performed by (or using) hardware devices, such as microprocessors, programmable computers, or electronic circuits. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

[0284] According to certain implementation requirements, embodiments of the present invention may be implemented in hardware or in software or at least in part in hardware or at least in software. The implementation may be performed using a digital storage medium, such as a floppy disk, DVD, Blu-ray, CD, ROM, PROM, EPROM, EEPROM or FLASH memory, on which there are stored electronically readable control signals that cooperate (or can cooperate) with a programmable computer system to perform the corresponding method. Therefore, the digital storage medium may be computer readable.

[0285] Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.

[0286] Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer.The program code may, for example, be stored on a machine readable carrier.

[0287] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.

[0288] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.

[0289] A further embodiment of the inventive method is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) on which is recorded the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and / or non-transitory.

[0290] A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein.The data stream or the sequence of signals may, for example, be configured to be transmitted via a data communication connection, for example via the Internet.

[0291] A further embodiment comprises a processing means, for example a computer or a programmable logic device, configured to or adapted to perform one of the methods described herein.

[0292] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

[0293] A further embodiment according to the invention comprises an apparatus or system configured to transmit (e.g. electronically or optically) to a receiver a computer program for performing one of the methods described herein. For example, the receiver may be a computer, a mobile device, a storage device, etc. For example, the apparatus or system may comprise a file server for transmitting the computer program to the receiver.

[0294] In some embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may collaborate with a microprocessor to perform one of the methods described herein. Typically, these methods are preferably performed by any hardware device.

[0295] The apparatus described herein may be implemented by using hardware devices, may be implemented by using computers, or may be implemented by using a combination of hardware devices and computers.

[0296] The methods described herein may be performed using a hardware device, or using a computer, or using a combination of a hardware device and a computer.

[0297] The above embodiments are only used to illustrate the principles of the present invention. It should be understood that modifications and variations of the arrangements and details described herein will be apparent to those skilled in the art. Therefore, it is intended that the present invention be limited only by the scope of the upcoming patent claims, rather than by the specific details presented by the description and explanation of the embodiments herein.

[0298] References

[0299] [1]ISO / IEC,ITU-T.High efficiency video coding.ITU-T RecommendationH.265|ISO / IEC 2300810(HEVC),edition 1,2013;edition 2,2014.

Claims

1. A video decoder (151) for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video, wherein the video decoder (151) comprises: an input interface (160) configured to receive the encoded video signal, and a data decoder (170) configured to reconstruct the plurality of images of the video by decoding the encoded image data, wherein each of the plurality of images comprises a plurality of image blocks, wherein each of the plurality of image blocks comprises a plurality of samples, wherein, for a first tile and a second tile of two adjacent tiles among a plurality of tiles of a first image among the plurality of images, the data decoder (170) is configured to perform filtering across a boundary between the first tile and the second tile to obtain a first filtered tile, wherein the first tile and the second tile have been independently encoded relative to each other, The data decoder (170) is configured to decode a current tile of a plurality of tiles of a second image of the plurality of images based on a reference block of the first filtered tile of the first image, wherein the reference block comprises a first set of samples of the first filtered tile, and wherein the reference block does not comprise a second set of samples of the first filtered tile, wherein none of the samples of the first set of samples has been affected by the filtering across the boundary between the first tile and the second tile, and wherein one or more samples of the second set of samples has been affected by the filtering across the boundary between the first tile and the second tile.

2. A method for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video, wherein the method for decoding comprises: receiving an encoded video signal, and Reconstructing multiple images of a video by decoding the encoded image data, wherein each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples, wherein for a first tile and a second tile of two adjacent tiles of the plurality of tiles of a first image of the plurality of images, the method comprises filtering across a boundary between the first tile and the second tile to obtain a first filtered tile, wherein the first tile and the second tile have been independently encoded relative to each other, The method comprises decoding a current tile of a plurality of tiles of a second image of the plurality of images based on a reference block of the first filtered tile of the first image, wherein the reference block comprises a first set of samples of the first filtered tile, and wherein the reference block does not comprise a second set of samples of the first filtered tile, wherein none of the samples in the first set of samples have been affected by the filtering across the boundary between the first tile and the second tile, and wherein one or more samples in the second set of samples have been affected by the filtering across the boundary between the first tile and the second tile.

3. A coded video signal encoding a plurality of images comprising a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples, wherein the coded video signal comprises coded image data encoding the plurality of images, wherein the encoded video signal comprises encoding of a plurality of images, wherein for a first tile and a second tile of two adjacent tiles in a plurality of tiles of a first image in the plurality of images, there is a boundary between the first tile and the second tile, wherein the first tile and the second tile are encoded independently relative to each other within the encoded video signal, wherein a current tile of a plurality of tiles of a second image of the plurality of images is encoded based on a reference block of the first tile of the first image, wherein a filter defines filtering across the boundary between the first tile and the second tile, wherein the reference block comprises a first set of samples of the first tile, and wherein the reference block does not comprise a second set of samples of the first tile, wherein none of the samples of the first set of samples will be affected by the filtering using the filter, and wherein one or more samples of the second set of samples will be affected by the filtering using the filter.

4. A video decoder (151) for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video, wherein the video decoder (151) comprises: An input interface (160) configured to receive an encoded video signal, and a data decoder (170) configured to reconstruct a plurality of images of a video by decoding the encoded image data, wherein each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of blocks, wherein each of the plurality of blocks comprises a plurality of samples, wherein for a first tile and a second tile of two adjacent tiles in a plurality of tiles of an image in the plurality of images, there is a boundary between the first tile and the second tile, wherein the first tile and the second tile have been encoded independently of each other, The data decoder (170) is configured to filter the first image block using a filter or a filter kernel, wherein the data decoder (170) is configured to correct the influence range of the filter or the filter kernel according to the distance between a block of the first image block to be filtered by the filter or the filter kernel block and the boundary between the first image block and the second image block, and the block is one of the multiple blocks of the first image block.

5. A method for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video, wherein the method for decoding comprises: receiving an encoded video signal, and Reconstructing multiple images of a video by decoding the encoded image data, wherein each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of blocks, wherein each of the plurality of blocks comprises a plurality of samples, wherein for a first tile and a second tile of two adjacent tiles in a plurality of tiles of an image in the plurality of images, there is a boundary between the first tile and the second tile, wherein the first tile and the second tile have been independently encoded relative to each other, The method includes filtering the first image block using a filter or a filter kernel, wherein the method includes correcting an influence range of the filter or the filter kernel according to a distance between a block of the first image block to be filtered by the filter or the filter kernel and the boundary between the first image block and the second image block, the block being one of a plurality of blocks of the first image block.

6. A video encoder (101) for encoding a plurality of images of a video by generating an encoded video signal, wherein each of the plurality of images comprises original image data, wherein the video encoder (101) comprises: a data encoder (110) configured to generate an encoded video signal comprising encoded image data, wherein the data encoder (110) is configured to encode a plurality of images of a video into the encoded image data, and an output interface (120) configured to output the encoded image data of each of the plurality of images, wherein each of the plurality of images comprises a plurality of image blocks, wherein each of the plurality of image blocks comprises a plurality of samples, wherein the data encoder (110) is configured to determine an independently encoded group of tiles, the independently encoded group of tiles comprising three or more tiles of a plurality of tiles of a reference image of a plurality of images, The data encoder (110) is configured to encode the plurality of images based on a reference block located within a reference image, The data encoder (110) is configured to select a position for the reference block within the reference image so that the reference block is neither partially located within three blocks of the three or more blocks of the independently encoded block group nor partially located within another block of the multiple blocks of the reference image that does not belong to the independently encoded block group.

7. A method of encoding a plurality of images of a video by generating an encoded video signal, wherein each of the plurality of images comprises original image data, wherein the method comprises: generating an encoded video signal comprising encoded image data, wherein generating the encoded video signal comprises encoding a plurality of images of a video into the encoded image data, and outputting encoded image data for each of a plurality of images, wherein each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples, wherein the method comprises determining an independently coded group of tiles, the independently coded group of tiles comprising three or more tiles of a plurality of tiles of a reference image of a plurality of images, wherein the method comprises encoding a plurality of images based on reference blocks located within a reference image, The method includes selecting a position for the reference block within a reference image so that the reference block is not partially located within three blocks of the three or more blocks of the independently encoded block group and partially located within another block of the multiple blocks of the reference image that does not belong to the independently encoded block group.

8. A coded video signal encoding a plurality of images comprising a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples, wherein the coded video signal comprises coded image data encoding the plurality of images, wherein the encoded video signal comprises encoding of a plurality of images, wherein each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples, wherein the encoded video signal comprises independently encoded groups of tiles, the independently encoded groups of tiles comprising three or more tiles of a plurality of tiles of a reference image of the plurality of images, wherein a plurality of images are encoded in a video data stream according to a reference block located in a reference image, The reference block is neither partially located in three blocks of the three or more blocks of the independently encoded block group nor partially located in another block of the multiple blocks of the reference image that does not belong to the independently encoded block group.

9. A video decoder (151) for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video, wherein the video decoder (151) comprises: An input interface (160) configured to receive an encoded video signal, and a data decoder (170) configured to reconstruct a plurality of images of a video by decoding the encoded image data, wherein each of the plurality of images comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples, wherein the encoded video signal comprises independently encoded groups of tiles, the independently encoded groups of tiles comprising three or more tiles of a plurality of tiles of a reference image of the plurality of images, The data decoder (170) is configured to decode a plurality of images based on a reference block located within a reference image, wherein the reference block is partially located within three tiles of three or more tiles of the independently encoded tile group and partially located within another tile of the plurality of tiles of the reference image that does not belong to the independently encoded tile group, and wherein the data decoder (170) is configured to determine a plurality of reference samples of a portion of the reference block located within the another tile that does not belong to the independently encoded tile group based on one or more samples of a plurality of samples of a first tile of the three tiles of the independently encoded tile group and based on one or more samples of a second tile of the three tiles of the independently encoded tile group.

10. A method for decoding an encoded video signal comprising encoded image data to reconstruct a plurality of images of a video, wherein the decoding method comprises: receiving an encoded video signal, and Reconstructing multiple images of a video by decoding the encoded image data, wherein each of the plurality of pictures comprises a plurality of tiles, wherein each of the plurality of tiles comprises a plurality of samples, wherein the coded video signal comprises independently coded groups of tiles, the independently coded groups of tiles comprising three or more of the plurality of tiles of a reference picture of the plurality of pictures, wherein the method comprises decoding a plurality of images based on a reference block located in a reference image, wherein the reference block is partially located in three of three or more tiles of the independently coded group of tiles and partially located in another tile of the plurality of tiles of the reference image that does not belong to the independently coded group of tiles, and The method comprises determining, based on one or more samples of a plurality of samples of a first tile of three tiles of the independently coded tile group and based on one or more samples of a plurality of samples of a second tile of the three tiles of the independently coded tile group, a plurality of reference samples of a portion of the reference block located within the other tile that does not belong to the independently coded tile group.