Re: [Mlcodec] draft-valin-opus-extension-01

Roman Shpount <roman@telurix.com> Tue, 08 August 2023 03:45 UTC

Return-Path: <roman@telurix.com>
X-Original-To: mlcodec@ietfa.amsl.com
Delivered-To: mlcodec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9A5A5C137393 for <mlcodec@ietfa.amsl.com>; Mon, 7 Aug 2023 20:45:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=telurix.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8fpqu2by5NtH for <mlcodec@ietfa.amsl.com>; Mon, 7 Aug 2023 20:45:39 -0700 (PDT)
Received: from mail-ot1-x330.google.com (mail-ot1-x330.google.com [IPv6:2607:f8b0:4864:20::330]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 41DA6C14CE4A for <mlcodec@ietf.org>; Mon, 7 Aug 2023 20:45:39 -0700 (PDT)
Received: by mail-ot1-x330.google.com with SMTP id 46e09a7af769-6bca5d6dcedso4461029a34.1 for <mlcodec@ietf.org>; Mon, 07 Aug 2023 20:45:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telurix.com; s=google; t=1691466338; x=1692071138; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+IVXVBd/qm12L0uVxbjQTbl7+LoTe8cwlew/BZBAUSA=; b=JdM+isr6mou9xejtYk87ADTY5vdAm7HZ0vXzMK7kAhbi0vVSGi2qFzzTQAfHyVy+cc 2nc3+KmQAebbpXAgqXMBAgyrVotMQ+am/mq9QcCyUts3IPtmCvbMg9V7HifXny0AxkKk snFsVE9moZXsZFvlqCI5p/md1KQgjLwk4Dh1o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691466338; x=1692071138; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+IVXVBd/qm12L0uVxbjQTbl7+LoTe8cwlew/BZBAUSA=; b=ansYZQG8ir0Wb0/WJrszhCGRCrL2zduDbJVtnluBvHmChG4vnXw2RKUh6AHnQoYFIa Je1FgPkQBaiDwAQNa9NeVMscIoNXZ6I+c3M0MlPRIa/XzjdFm+rAswAtVr0MoMLJt7IL CvIcCV1HY2r4zbFgd30SJ8mqFhL1OH2PxJUxqicJ8ZTYnbdI0Zb7IQHlefn2tuxlMu88 ul6+cltE7ba9Sdt8jZ1BA3OnNxepZJoim5uNClEgackXWXYj0tsNcTFaT3wZzFq37wG2 K92PYLsZ3zDWCWi4V19OzBbqsrWh/gqm3K3UG0fDJph5SXkPUDNt2xa8mCLY1qom6L5o UG1A==
X-Gm-Message-State: AOJu0YxINvrmjehVAedHAiXuu+D1Um/fanRTxbbTgYmxXGvUoeGVM56h 0+uiQeB8KGXbeUCP43gssiHp89pf2a/dZzgpln0=
X-Google-Smtp-Source: AGHT+IEtJuD7G2CPtzWUTgL4onJPPjlhw51Xp/FI5h2nTj/FJGvYJSELpQyqXjjMcc8so4wJYdCvsg==
X-Received: by 2002:a9d:6a50:0:b0:6bc:e6bc:5dbf with SMTP id h16-20020a9d6a50000000b006bce6bc5dbfmr7798128otn.23.1691466337864; Mon, 07 Aug 2023 20:45:37 -0700 (PDT)
Received: from mail-oo1-f42.google.com (mail-oo1-f42.google.com. [209.85.161.42]) by smtp.gmail.com with ESMTPSA id r7-20020a056830134700b006af9d8af435sm5472911otq.50.2023.08.07.20.45.36 for <mlcodec@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 07 Aug 2023 20:45:37 -0700 (PDT)
Received: by mail-oo1-f42.google.com with SMTP id 006d021491bc7-56c4457c82eso3421524eaf.0 for <mlcodec@ietf.org>; Mon, 07 Aug 2023 20:45:36 -0700 (PDT)
X-Received: by 2002:a4a:394e:0:b0:56c:7120:8361 with SMTP id x14-20020a4a394e000000b0056c71208361mr9462144oog.4.1691466336534; Mon, 07 Aug 2023 20:45:36 -0700 (PDT)
MIME-Version: 1.0
References: <CAAS2fgQ1HeWQUcTgpxTq66FFn_G6UnhToc8Rtz4Pkc-MKN7n8g@mail.gmail.com> <PH0PR17MB4908948401600486033FB66BAE0FA@PH0PR17MB4908.namprd17.prod.outlook.com> <CAD5OKxu452kOQkcP+sPQzcyLSmt8p5gxLzcK2bCy2p8dYRApUg@mail.gmail.com> <414f7d97-288b-d8bc-0caf-1b95a572e5eb@jmvalin.ca>
In-Reply-To: <414f7d97-288b-d8bc-0caf-1b95a572e5eb@jmvalin.ca>
From: Roman Shpount <roman@telurix.com>
Date: Mon, 07 Aug 2023 23:45:25 -0400
X-Gmail-Original-Message-ID: <CAD5OKxtSdMUZkTdSa7RyEssPMLqsfHwdj-GcV5hraCBUYCpGhg@mail.gmail.com>
Message-ID: <CAD5OKxtSdMUZkTdSa7RyEssPMLqsfHwdj-GcV5hraCBUYCpGhg@mail.gmail.com>
To: Jean-Marc Valin <jmvalin@jmvalin.ca>
Cc: Greg Maxwell <gmaxwell@gmail.com>, "mlcodec@ietf.org" <mlcodec@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000002386f506026132e1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mlcodec/tAJYvkyiKlbkK7llQdlwB6jkM4w>
Subject: Re: [Mlcodec] draft-valin-opus-extension-01
X-BeenThere: mlcodec@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Machine Learning for Audio Coding <mlcodec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mlcodec>, <mailto:mlcodec-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mlcodec/>
List-Post: <mailto:mlcodec@ietf.org>
List-Help: <mailto:mlcodec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mlcodec>, <mailto:mlcodec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 Aug 2023 03:45:43 -0000

Hi Jean-Marc,

I am sold on DRED (your point #2). It is extremely interesting.

What I need clarification about is whether DRED should be integrated into
Opus or if it should be defined as a standalone CODEC, which can be used
with other codecs using RED. I do see that there is some bitrate saving by
making it an Opus extension. On the other hand, if DRED is defined as an
independent CODEC, it can be used with other codecs, such as AMR or Lyra.
Using RED with two different CODECs is not entirely a new idea.
Synchronizing state and making smooth transitions is also something that
can be addressed. It is not that different from PLC transitions.

Using RED for packaging also makes a lot of SDP negotiation issues simpler.
It also lets you expose parameters for DRED as SDP parameters, which would
be complicated with an Opus extension.

Best Regards,
_____________
Roman Shpount


On Mon, Aug 7, 2023 at 1:47 AM Jean-Marc Valin <jmvalin@jmvalin.ca> wrote:

> Hi Roman,
>
> Indeed, maybe the DRED draft should more clearly emphasize its benefits.
> There are several reasons why I think the approach we're proposing would
> work better than using a separate ML codec through RED. Those can be
> divided in two categories:
>
> 1) There are benefits to having the redundancy integrated within Opus.
> In case of loss, we need to quickly switch from Opus, to the redundancy,
> and then back to Opus. Since codecs are stateful, you cannot directly
> switch back and forth without introducing discontinuities. Switching
> cleanly would either require deep integration of the two codecs (about
> as close as what we're already proposing) to update each other's states,
> or else figure out some cross-fading, which would create all kinds of
> undesirable side effects. I also believe that integration within Opus
> makes synchronization easier and is likely easier to deploy in general.
>
> 2) There are also benefits coming from the fact that DRED is not
> designed to be a general-purpose ML speech codec, but is rather
> specifically optimized for redundancy. For example, while each DRED
> packet is independent from the others (no prediction across packet), the
> many frames within a redundancy packet (up to a second right now) are
> still coded with prediction to make it more efficient. Our scheme also
> makes it possible to use a different bitrate as a function of how old
> each frame is within the redundancy. For example, the audio between
> t=0ms and t=40ms can be coded at 1000 b/s when part of the redundancy
> for the t=40ms packet, but it might be coded at just 400 b/s for the
> redundancy of the t=900ms packet. That can be done without having to
> re-encode the audio multiple times. You can read more about the DRED
> design principles in Section 2 of
> https://arxiv.org/pdf/2212.04453.pdf
> or in this blog post:
>
> https://www.amazon.science/blog/neural-encoding-enables-more-efficient-recovery-of-lost-audio-packets
>
> Cheers,
>
>         Jean-Marc
>
>
> On 2023-08-06 20:01, Roman Shpount wrote:
> > Hi All,
> >
> > One question that I have about Opus extensions is what are the benefits
> > of extending Opus vs using RED and combining Opus with other codecs,
> > such as ML-based codecs, which would provide redundant audio?
> >
> > Thank You,
> > _____________
> > Roman Shpount
> >
> >
> > On Sun, Aug 6, 2023 at 1:39 PM Stephan Wenger <stewe@stewe.org
> > <mailto:stewe@stewe.org>> wrote:
> >
> >     Hi,____
> >
> >     The constituting meeting of an IETF WG is an unusually early point
> >     for an IETF working group draft adoption.  I’m not objecting at this
> >     point, but can I ask to make this a two-week call at the minimum?
> >     It’s summer, and some relevant people I know of are on vacation.____
> >
> >     Stephan____
> >
> >     __ __
> >
> >     __ __
> >
> >     *From: *Mlcodec <mlcodec-bounces@ietf.org
> >     <mailto:mlcodec-bounces@ietf.org>> on behalf of Greg Maxwell
> >     <gmaxwell@gmail.com <mailto:gmaxwell@gmail.com>>
> >     *Date: *Saturday, August 5, 2023 at 11:34
> >     *To: *mlcodec@ietf.org <mailto:mlcodec@ietf.org> <mlcodec@ietf.org
> >     <mailto:mlcodec@ietf.org>>
> >     *Subject: *[Mlcodec] draft-valin-opus-extension-01____
> >
> >     At IETF 117 there was consensus in the room to adopt
> >     draft-valin-opus-extension-01
> >     ( https://datatracker.ietf.org/doc/draft-valin-opus-extension/
> >     <https://datatracker.ietf.org/doc/draft-valin-opus-extension/> )
> >     as a working group document and a starting point for further
> >     development.
> >
> >     I'm raising this for the benefit of those who could not make the
> >     meeting,
> >     and to request that this consensus be confirmed on the list.
> >
> >     So, if you have anything further to say about the adoption, positive
> or
> >     negative, please speak up.
> >
> >     --
> >     Mlcodec mailing list
> >     Mlcodec@ietf.org <mailto:Mlcodec@ietf.org>
> >     https://www.ietf.org/mailman/listinfo/mlcodec
> >     <https://www.ietf.org/mailman/listinfo/mlcodec>____
> >
> >     --
> >     Mlcodec mailing list
> >     Mlcodec@ietf.org <mailto:Mlcodec@ietf.org>
> >     https://www.ietf.org/mailman/listinfo/mlcodec
> >     <https://www.ietf.org/mailman/listinfo/mlcodec>
> >
> >
>