Patent attributes
Technologies are generally described for distribution of video over time-varying channels. A video processing module may encode a stream of video frames into a number of groups-of-pictures (GOPs), each GOP including multiple sub-groups-of-pictures (sub-GOPs) that may each be relatively self-contained. The video processing module may divide the encoded video frames into different blocks, and may assign different priorities to the different blocks based on how important the individual blocks are to the reconstruction of a sub-GOP, a GOP, or the stream of encoded video frames, including alternative blocks that make each sub-GOP entirely self-contained for the purpose of decoding in the event of severe losses of blocks from previous sub-GOPs. The video processing module may then provide the blocks to a client device based on the priority of the blocks, the connection quality of the client device, and occurrence of previous losses, for example.