diff --git a/media_perception/media_perception.gyp b/media_perception/media_perception.gyp
index 1955d8e..747f9f6 100644
--- a/media_perception/media_perception.gyp
+++ b/media_perception/media_perception.gyp
@@ -19,9 +19,10 @@
         '<(proto_in_dir)/common.proto',
         '<(proto_in_dir)/device_management.proto',
         '<(proto_in_dir)/frame_perception.proto',
-        '<(proto_in_dir)/media_perception_mojom.proto',
         '<(proto_in_dir)/hotword_detection.proto',
+        '<(proto_in_dir)/media_perception_mojom.proto',
         '<(proto_in_dir)/pipeline.proto',
+        '<(proto_in_dir)/presence_perception.proto',
       ],
       'includes': ['../common-mk/protoc.gypi'],
     },
@@ -44,6 +45,7 @@
         'mojom/media_perception.mojom',
         'mojom/media_perception_service.mojom',
         'mojom/pipeline.mojom',
+        'mojom/presence_perception.mojom',
         'mojom/producer.mojom',
         'mojom/receiver.mojom',
         'mojom/scoped_access_permission.mojom',
diff --git a/media_perception/mojom/presence_perception.mojom b/media_perception/mojom/presence_perception.mojom
new file mode 100644
index 0000000..714df5d
--- /dev/null
+++ b/media_perception/mojom/presence_perception.mojom
@@ -0,0 +1,15 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// Next MinVersion: 1
+
+module chromeos.media_perception.mojom;
+
+struct PresencePerception {
+  // The timestamp associated with the perception result.
+  int64 timestamp_us@0;
+
+  // Overall probability [0, 1] that a human is present.
+  float presence_confidence@1;
+};
diff --git a/media_perception/proto/presence_perception.proto b/media_perception/proto/presence_perception.proto
new file mode 100644
index 0000000..3fd74de
--- /dev/null
+++ b/media_perception/proto/presence_perception.proto
@@ -0,0 +1,16 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// See platform2/media_perception/mojom/presence_perception.mojom for relevant comments on
+// data fields.
+
+syntax = "proto2";
+
+package mri;
+
+message PresencePerception {
+  optional int64 timestamp_us = 1;
+
+  optional float presence_confidence = 3;
+}
diff --git a/media_perception/proto_mojom_conversion.cc b/media_perception/proto_mojom_conversion.cc
index d3ae875..24232ef 100644
--- a/media_perception/proto_mojom_conversion.cc
+++ b/media_perception/proto_mojom_conversion.cc
@@ -284,6 +284,13 @@
   return state_ptr;
 }
 
+PresencePerceptionPtr ToMojom(const mri::PresencePerception& perception) {
+  PresencePerceptionPtr perception_ptr = PresencePerception::New();
+  perception_ptr->timestamp_us = perception.timestamp_us();
+  perception_ptr->presence_confidence = perception.presence_confidence();
+  return perception_ptr;
+}
+
 }  // namespace mojom
 }  // namespace media_perception
 }  // namespace chromeos
@@ -694,4 +701,16 @@
   return state;
 }
 
+PresencePerception ToProto(
+    const chromeos::media_perception::mojom::PresencePerceptionPtr&
+        perception_ptr) {
+  PresencePerception perception;
+  if (perception_ptr.is_null())
+    return perception;
+
+  perception.set_timestamp_us(perception_ptr->timestamp_us);
+  perception.set_presence_confidence(perception_ptr->presence_confidence);
+  return perception;
+}
+
 }  // namespace mri
diff --git a/media_perception/proto_mojom_conversion.h b/media_perception/proto_mojom_conversion.h
index 64e6a3e..b3b9000 100644
--- a/media_perception/proto_mojom_conversion.h
+++ b/media_perception/proto_mojom_conversion.h
@@ -10,15 +10,17 @@
 #include "media_perception/common.pb.h"
 #include "media_perception/device_management.pb.h"
 #include "media_perception/frame_perception.pb.h"
-#include "media_perception/media_perception_mojom.pb.h"
 #include "media_perception/hotword_detection.pb.h"
+#include "media_perception/media_perception_mojom.pb.h"
 #include "media_perception/pipeline.pb.h"
+#include "media_perception/presence_perception.pb.h"
 #include "mojom/common.mojom.h"
 #include "mojom/device_management.mojom.h"
 #include "mojom/frame_perception.mojom.h"
 #include "mojom/hotword_detection.mojom.h"
 #include "mojom/media_perception.mojom.h"
 #include "mojom/pipeline.mojom.h"
+#include "mojom/presence_perception.mojom.h"
 
 namespace chromeos {
 namespace media_perception {
@@ -57,6 +59,9 @@
 PipelineErrorPtr ToMojom(const mri::PipelineError& error);
 PipelineStatePtr ToMojom(const mri::PipelineState& state);
 
+// Presence perception conversions.
+PresencePerceptionPtr ToMojom(const mri::PresencePerception& perception);
+
 }  // namespace mojom
 }  // namespace media_perception
 }  // namespace chromeos
@@ -131,6 +136,11 @@
 PipelineState ToProto(
     const chromeos::media_perception::mojom::PipelineStatePtr& state_ptr);
 
+// Presence perception conversions.
+PresencePerception ToProto(
+    const chromeos::media_perception::mojom::PresencePerceptionPtr&
+        perception_ptr);
+
 }  // namespace mri
 
 #endif  // MEDIA_PERCEPTION_PROTO_MOJOM_CONVERSION_H_
diff --git a/media_perception/proto_mojom_conversion_test.cc b/media_perception/proto_mojom_conversion_test.cc
index 6fe819d..bfdeb96 100644
--- a/media_perception/proto_mojom_conversion_test.cc
+++ b/media_perception/proto_mojom_conversion_test.cc
@@ -303,6 +303,16 @@
   EXPECT_EQ(*error_ptr->error_string, kMockErrorString);
 }
 
+TEST(ProtoMojomConversionTest, PresencePerceptionToMojom) {
+  mri::PresencePerception perception;
+  perception.set_timestamp_us(100);
+  perception.set_presence_confidence(0.5);
+
+  PresencePerceptionPtr perception_ptr = ToMojom(perception);
+  EXPECT_EQ(perception_ptr->timestamp_us, 100);
+  EXPECT_FLOAT_EQ(perception_ptr->presence_confidence, 0.5);
+}
+
 }  // namespace
 }  // namespace mojom
 }  // namespace media_perception
@@ -632,5 +642,16 @@
   EXPECT_EQ(state.error().error_string(), kMockErrorString);
 }
 
+TEST(ProtoMojomConversionTest, PresencePerceptionToProto) {
+  chromeos::media_perception::mojom::PresencePerceptionPtr perception_ptr =
+      chromeos::media_perception::mojom::PresencePerception::New();
+  perception_ptr->timestamp_us = 100;
+  perception_ptr->presence_confidence = 0.5;
+
+  PresencePerception perception = ToProto(perception_ptr);
+  EXPECT_EQ(perception.timestamp_us(), 100);
+  EXPECT_FLOAT_EQ(perception.presence_confidence(), 0.5);
+}
+
 }  // namespace
 }  // namespace mri
