Is there something as self-completing data transfer, like Sudoku? I would like to know, since I am not that knowledgeable in this subject, if this idea is feasible or widely implemented:

If a data package is sent, I know parity-bytes are used to detect errors. Could we not use a similar concept to self-complete data packages?
Let's say a client requests an image to be sent from a server. The server first sents a function of each row and column, e.g. the sum of all pixel values in each row and column, so 20 values for a 10x10 image. The server then sends the values of exactly as many pixels as are needed to  let only one possible combination of all pixel values remain.

Would this require less or more data packages to be sent, in the best/average/worst case?
What you are suggesting is indeed rooted on concepts that are important in DSP: 


On the channel coding side, you have for instance error correction codes (or error correcting codes, both ECC)
On the source coding side, since you mention Sudoku, techniques like matrix completion, sparse sampling or compressive sensing are possibilities to approximately recover incomplete grids.


However, they work on assumptions on data like positivity, sparsity), and approximate recovery. I have not seen yet such a scheme working for universal lossless compression. An argument is derived from the Dirichlet or pigeonhole principle, another one is easier with recursion. Suppose you have a clever scheme that self-completes data packages, based on some functions that combine inputs. For compression, you expect that it turns all  $B$ bit-stored file on a smaller number of bits, say $B-1$ bits or ledd. Then you could apply it again, and again, until you reach $0$ bits, which does not make sense.

So, this does not appear possible, unless you have additional assumptions that could reduce the space of possible data.