Optimization And Learning Based Video Coding