Re: [Cellar] CodecIDs for non-standard and unregistered data formats

Matt Gruenke <matt.gruenke@gmail.com> Fri, 28 April 2017 03:18 UTC

Return-Path: <matt.gruenke@gmail.com>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2E6E8128B88 for <cellar@ietfa.amsl.com>; Thu, 27 Apr 2017 20:18:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fu8Ruk3J_FIE for <cellar@ietfa.amsl.com>; Thu, 27 Apr 2017 20:18:37 -0700 (PDT)
Received: from mail-pf0-x231.google.com (mail-pf0-x231.google.com [IPv6:2607:f8b0:400e:c00::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 98B54128DF6 for <cellar@ietf.org>; Thu, 27 Apr 2017 20:16:42 -0700 (PDT)
Received: by mail-pf0-x231.google.com with SMTP id 194so42335258pfv.3 for <cellar@ietf.org>; Thu, 27 Apr 2017 20:16:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=MrhNdVIctwFb3i5e9ERrnks91ZRoJdvWDQuQ9pllBdg=; b=qcc9QtnpE3CbUhP578OgXeJb+ImgqOw6lYZ06kCd5unutE+muORtkr+dKjKVP2nf6R 9inVH9cVCRv9kdTZhioNvOQQK4HuK4M/Mv7x6IoH/eXgeNSJRGWmnJw7Qr8pVAntAzrF lUam3/zozFOiEV+llgmnpoWZfbNHeHBAUIVasVQYNTaokxDIjd+tuut+RQVrqmQKJy4O ZCBWJ8MCW1zb9gmTkwRtmk0BjAUX+HQichphbXhTlqXIzTco7GoGYUDSKFmqrZH6dSEn IAlXth5V6E2cUJhmcFqA1xTJOY3QzTfXsgDo29tnj/2PL6d0yWgXBEGRTnHx+ydT7VzM hmIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=MrhNdVIctwFb3i5e9ERrnks91ZRoJdvWDQuQ9pllBdg=; b=NVVni7XSYlGYTejpQvDbIl2IU7dCUXJEmaOZSIsN50d3xjKmEUyHeuugn9XQWeNUbB eZ0HpmdNA3w5m2RUnzlScMSF6l8DoaXDhvtRAoqpNxs+RxpinVj05Jkes+rSqm1b7mOY hlR6pfPLFUdojAiAweysNEn+0/M+Rt5NY30StGA8+f/bJaGiTLZ27QzSSrvPWLGll2ph 92L2T1zWuAZ/pcRjqk2BbfwlRuYVTp9cdhipWH2f1UZRoawIllUooCI8EdUIG5SjDM3N Wkj/vzunl/taT1U5RVHNZLe0vJ71c6EOGrQgwHZl6Jzwv+7Z7G/Ke8giMN5NsopQsIVu LTpQ==
X-Gm-Message-State: AN3rC/6EwjIlZc5yxBAJPW2usmSFl2j/ciuXxiKDeYnGDdNMaC7m9NyB Qi5mW8EGe+gzJ8PKdLc1kE9vC44SYg==
X-Received: by 10.99.114.3 with SMTP id n3mr9613948pgc.130.1493349402192; Thu, 27 Apr 2017 20:16:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.148.101 with HTTP; Thu, 27 Apr 2017 20:16:41 -0700 (PDT)
In-Reply-To: <CAOXsMFLeNgEWzX+crnMDTKp7d66n8+wDA5WUuYHM0jfZqFauhA@mail.gmail.com>
References: <CAJKCwWj2rZu0OWksLiTvT9E4jjiN6XOHzYGSuUaRbtiXxnbCDQ@mail.gmail.com> <CAOXsMFK4sB=-HN7wWP9ModsHf3czNMq7yHB0izUQehm2A2_7tA@mail.gmail.com> <CAJKCwWimxX98Oxj+3eA3DPXZmSNERAUaVNWqawO8TJCA1VrKhw@mail.gmail.com> <CAOXsMFLeNgEWzX+crnMDTKp7d66n8+wDA5WUuYHM0jfZqFauhA@mail.gmail.com>
From: Matt Gruenke <matt.gruenke@gmail.com>
Date: Thu, 27 Apr 2017 23:16:41 -0400
Message-ID: <CAJKCwWg-Hf5+w5nE3DtCixMxKDK=bSx-HGWGrAWjpe=+mAj7Yw@mail.gmail.com>
To: Steve Lhomme <slhomme@matroska.org>
Cc: Codec Encoding for LossLess Archiving and Realtime transmission <cellar@ietf.org>
Content-Type: multipart/alternative; boundary="f403045ccfe8a4b1ee054e318036"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/dhjC7kBu4OyRRBi1_CBwxGTTfzE>
Subject: Re: [Cellar] CodecIDs for non-standard and unregistered data formats
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Codec Encoding for LossLess Archiving and Realtime transmission <cellar.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cellar>, <mailto:cellar-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cellar/>
List-Post: <mailto:cellar@ietf.org>
List-Help: <mailto:cellar-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cellar>, <mailto:cellar-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Apr 2017 03:18:39 -0000

On Wed, Apr 26, 2017 at 5:13 AM, Steve Lhomme <slhomme@matroska.org> wrote:

> 2017-02-27 4:04 GMT+01:00 Matt Gruenke <matt.gruenke@gmail.com>:
> > Let's take this example of a camera having both a visible light sensor
> and a
> > depth sensor, as well as a stereo microphone.  For various reasons, its
> > depth sensor captures frames at different times and a different rate than
> > its color image sensor.  I'd like to record a video file containing an
> audio
> > track, a normal video track, and a depth track.  I'd like the audio and
> > video portions to be playable in normal video player apps.  When using
> > enhanced apps, the depth data may also be utilized.
>
> It seems that the depth data cannot be used on their own and would
> need to be coupled with the video frames. So that would probably go as
> a BlockAddition data (or something similar as it's currently tied to
> the Track codec). Even if they are repeated for each video frame which
> the sensor doesn't change the value.
>

I'd say it's no more or less coupled than audio.  If a movie has an audio
track, people will typically watch the video with the audio, but sometimes
without.  They rarely listen to the audio without the video, but they could
(and some do).  I think it's a good analogy for depth - it's an optional
augmentation of the video and could be paired with one of several different
video tracks (e.g. if the same file has a depth track and video from both a
visible light & a thermal sensor).

More importantly, if the depth frames are taken at slightly different times
than video, it's critical they have timestamps which reflect this.
Furthermore, it would be a really problematic to repeat the same data on
subsequent frames, in cases where no new depth frames have been captured in
between.  These kinds of sins some people committed with video created
substantial headaches for video processing.

Depth must be synchronized with video as precisely as possible.  Any
fudging of timestamps or duplication of data will interfere with attempts
to interpolate the depth frames to match the video (or vice versa).  It
might not be feasible or desirable to perform this interpolation at capture
time.


Matt